我尝试运行我的React Antive应用时会遇到此错误 [循环参考:com.android.tools.r8.apilevelexception:Indoke-customs AE仅支持以Android O(-Min-API 26)为单位。]
失败
失败:构建失败而异常。
-
出了什么问题:执行失败的任务':app:transformclasseswithdexbuilderfordebug'。
-1 file-1.1 lottie-2.5.6.aar adddb5cebf38e2804a0cb857e5cf364 jars class.jar
-
尝试:使用-StackTrace选项运行以获取堆栈跟踪。使用-Info或 - debug optin运行,以获取更多日志输出。使用 - 扫描以获得完整的见解。
-
在https://help.gradle.org
上获得更多帮助
构建在21秒内失败147个可操作的任务:执行1个,最新的146个无法在设备上安装应用程序,请阅读上面的错误以获取详细信息。确保您有一个Android模拟器运行或连接的设备并具有设置您的Android开发环境:https://facebook.github.io/reaeact-native/docs/getting-started.html
这是我的依赖性
dependencies {
compile project(':lottie-react-native')
implementation project(':lottie-react-native')
implementation('com.airbnb.android:lottie:2.5.5') {
exclude group: 'com.android.support'
}
看起来您已经为依赖项添加了额外的依赖。
查看lottie-react-native
回购中的示例项目,他们只添加compile project(':lottie-react-native')
这是他们对示例项目的依赖性。(请注意,compile
应替换为implementation
)
dependencies {
compile project(':lottie-react-native')
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:support-annotations:26.1.0'
compile "com.facebook.react:react-native:+" // From node_modules
}
请注意他们没有
implementation('com.airbnb.android:lottie:2.5.5') {
exclude group: 'com.android.support'
}
在我使用过的任何项目中,我从未添加过
implementation('com.airbnb.android:lottie:2.5.5')
如果您删除了该行,则应解决问题。
indoke-customs仅从Android O(-Min-API 26)]
开始支持。此错误是由于Lottie依赖性需要Java 8字节码引起的。因此,要使它上升,我们需要在app/build.gradle
中启用Desugaring。因此,我们需要告诉它使用Java 8.我们通过更新android
节来做到这一点。
android {
defaultConfig {
...
}
// add the following
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}