java - 如何将 androidx 库与 exoplayer 库一起使用?
问题描述
迁移到 androidx 后我的构建失败并且找不到 exoplayer 依赖项。它也没有找到我的 exoplayer 依赖类,我试图通过启用 jetifier true 来修复,但仍然无法正常工作它正在正确同步但无法构建这是我的构建错误如何将 androidx 库与 exoplayer 库一起使用?请帮忙
import com.google.android.exoplayer2.ExoPlayerFactory;
^
symbol: class ExoPlayerFactory
location: package com.google.android.exoplayer2
C:\Users\DEV\Desktop\players - Copy\app\src\main\java\umo\com\players\opengl\MyGLRenderer.java:32: error: cannot find symbol
import com.google.android.exoplayer2.Player;
^
symbol: class Player
location: package com.google.android.exoplayer2
C:\Users\DEV\Desktop\players - Copy\app\src\main\java\umo\com\players\opengl\MyGLRenderer.java:33: error: cannot find symbol
import com.google.android.exoplayer2.SimpleExoPlayer;
^
symbol: class SimpleExoPlayer
location: package com.google.android.exoplayer2
C:\Users\DEV\Desktop\players - Copy\app\src\main\java\umo\com\players\opengl\MyGLRenderer.java:34: error: package com.google.android.exoplayer2.extractor does not exist
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
^
C:\Users\DEV\Desktop\players - Copy\app\src\main\java\umo\com\players\opengl\MyGLRenderer.java:35: error: package com.google.android.exoplayer2.source does not exist
import com.google.android.exoplayer2.source.ExtractorMediaSource;
^
C:\Users\DEV\Desktop\players - Copy\app\src\main\java\umo\com\players\opengl\MyGLRenderer.java:36: error: package com.google.android.exoplayer2.source does not exist
import com.google.android.exoplayer2.source.MediaSource;
^
C:\Users\DEV\Desktop\players - Copy\app\src\main\java\umo\com\players\opengl\MyGLRenderer.java:37: error: package com.google.android.exoplayer2.trackselection does not exist
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
^
C:\Users\DEV\Desktop\players - Copy\app\src\main\java\umo\com\players\opengl\MyGLRenderer.java:38: error: package com.google.android.exoplayer2.trackselection does not exist
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
^
当我尝试使用目标 SDK 版本 26 时,该类表现良好并且可以构建,但无法上传到 google play store 如何将 androidx 库与 exoplayer 库一起使用?这是我的 build.Gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
vectorDrawables.useSupportLibrary = true
applicationId "umo.com.players"
minSdkVersion 17
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
multiDexEnabled true
}
lintOptions{
checkReleaseBuilds false
abortOnError false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} }
}
dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('androidx.test.espresso:espresso-core:3.1.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc02'
testCompile 'junit:junit:4.12'
//Design library for Coordinator Layout and Toolbars
implementation 'com.google.android.material:material:1.0.0'
//ExifInterface support
implementation 'androidx.exifinterface:exifinterface:1.0.0'
//design library for Coordinator Layout
implementation 'com.google.android.material:material:1.0.0'
//Exo Player
implementation 'com.google.android.exoplayer:exoplayer:2.6.0'
//cardview
implementation 'androidx.cardview:cardview:1.0.0-rc02'
//recyclerview
implementation 'androidx.recyclerview:recyclerview:1.0.0-rc02'
//BottomNavigationViewEx library
compile 'com.github.ittianyu:BottomNavigationViewEx:1.1.9'
//Circle ImageView
compile 'de.hdodenhof:circleimageview:2.1.0'
//elastic header
compile 'com.github.eschao:android-ElasticListView:v1.0'
//material dialogs
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
//glide
implementation 'com.github.bumptech.glide:glide:4.4.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.4.0'
implementation files('libs/aspectjrt-1.7.3 (1).jar')
//Universal image loader
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
//firebase authentication
compile 'com.google.firebase:firebase-auth:10.2.6'
//firebase database
compile 'com.google.firebase:firebase-database:10.2.6'
//firebase storage
compile 'com.google.firebase:firebase-storage:10.2.6'
compile files('libs/aspectjrt-1.7.3 (1).jar')
compile 'com.google.firebase:firebase-messaging:10.2.6'
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'androidx.multidex:multidex:2.0.0'
}
//Firebase
apply plugin: 'com.google.gms.google-services'
这是我的 Gradle。特性
# The setting is particularly useful for tweaking memory settings.
android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx512m
解决方案
将 exoplayer 的依赖从 2.6.0 更改为 2.7.3
推荐阅读
- python - 如何通过一个提交按钮只用一个表单文档完成三个功能?
- html - HTML表格根据条件更改文本颜色
- c# - 旋转后找到形状的左上角
- python - 我的程序一直在循环,我不知道为什么
- javascript - TypeErr:无法读取未定义的属性“角色”
- dolphindb - 根据某个债券代码查找其所有日期的数据,我应该如何设计数据库?
- javascript - 使用特定时间范围的 If/Else 条件
- reactjs - Typescript 部署问题(本地部署没有问题)
- node.js - 事件未定义nodejs
- reactjs - React Web App 中私人发布的 AWS Sumerian 场景不包括聊天机器人功能(Polly 和 Lex)