Символ ExoPlayerFactory не найден

Я схожу с ума, пытаясь понять это. В этом нет никакого смысла. Я добавил требуемую реализацию в свой файл build.gradle и отлично ее синхронизировал, но когда я пытаюсь использовать ExoPlayer, она не найдена. Я даже пытался вручную ввести строку импорта с помощью автозаполнения, и в автозаполнении для com.google.android.exoplayer2 доступны только Buildconfig и R.. Я не знаю, что происходит. У меня был проект, в котором он использовался, и все было отлично. Я его давно не открывал, но хотел переучить, поэтому открыл, теперь что бы я ни делал, он не может найти символ для ExoPlayer.

Вот мой файл build.gradle...

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "test.notreal.justatext"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:animated-vector-drawable:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:support-v13:28.0.0' //THIS
    implementation 'com.android.support:support-media-compat:28.0.0' //AND THIS
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    implementation 'com.google.firebase:firebase-database:17.0.0'
    implementation 'com.google.firebase:firebase-storage:17.0.0'
    implementation 'de.hdodenhof:circleimageview:1.3.0'
    implementation 'com.soundcloud.android:android-crop:1.0.1@aar'
    implementation 'com.jakewharton:butterknife:9.0.0-rc2'
    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc2'
    implementation 'com.github.jd-alexander:LikeButton:0.2.3'
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    implementation 'fr.tvbarthel.blurdialogfragment:lib:2.2.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.scottyab:aescrypt:0.0.1'
    implementation 'com.daimajia.slider:library:1.1.5@aar'
    implementation 'com.google.firebase:firebase-messaging:18.0.0'
    implementation 'com.google.android.exoplayer:exoplayer:r2.5.0' //RIGHT HERE
    implementation 'com.bignerdranch.android:recyclerview-multiselect:0.2'
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.5.+'
    testImplementation 'junit:junit:4.12'
    implementation 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
    implementation 'jp.wasabeef:glide-transformations:3.0.1'

}





apply plugin: 'com.google.gms.google-services'

В нем можно увидеть...

implementation 'com.google.android.exoplayer:exoplayer:r2.5.0'

и приложение будет правильно выполнять синхронизацию Gradle, но в моем приложении все следующее выделено красным...

import com.google.android.exoplayer2.ExoPlayerFactory;
import com.google.android.exoplayer2.SimpleExoPlayer;
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
import com.google.android.exoplayer2.extractor.ExtractorsFactory;
import com.google.android.exoplayer2.source.ExtractorMediaSource;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelector;
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
import com.google.android.exoplayer2.upstream.BandwidthMeter;
import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
import com.google.android.exoplayer2.util.Util;

Все после exoplayer2. красный. Он не может найти символ для чего-либо. Пытаясь убедить себя, что я не схожу с ума, я начал новый проект, добавил реализацию для exoplayer в свой свежий чистый файл build.gradle, открыл основное действие и набрал

SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(this);

И он не может найти символ. Не могу импортировать его, он по-прежнему просто показывает символы BuildConfig и R для всего после com.google.android.exoplayer2.. Я пытался обновить до более новой версии, такой как 2.10.1, что вызывает сбои сборки, что-то о слиянии манифестов Android, на совершенно новом чистом приложение. Поэтому я не могу обновить версию, но внезапно, что бы я ни делал, Android Studio не может найти символы ExoPlayer.


person Neglected Sanity    schedule 04.06.2019    source источник
comment
Пробовали ли вы какие-либо другие последние версии? Кажется, они работают!   -  person Kartik Shandilya    schedule 05.06.2019
comment
@NovoLucas, это действительно сработало. Я попытался использовать 2.9.x, и он, наконец, снова заработал. Спасибо   -  person Neglected Sanity    schedule 06.06.2019


Ответы (1)


Версия, которую вы используете, довольно старая, и, возможно, она конфликтует с версией Gradle. Что вы можете попробовать, так это понизить версию Gradle или обновить Exoplayer до более новой версии, что рекомендуется.

person Kartik Shandilya    schedule 08.06.2019