java - 构建签名 Apk 时出现 ClassCastException
问题描述
我的gradle依赖是
repositories {
google()
mavenCentral()
// maven { url "http://maven.ghostscript.com" }
maven { url 'https://jitpack.io' }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
使用这些应用依赖
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
//implementation files('libs/aspose-slides-20.6-android.via.java.jar')
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'commons-io:commons-io:20030203.000550'
implementation "com.pdfview:pdfview-android:1.0.0"
//implementation 'com.android.support:multidex:1.0.3'
// https://github.com/googlesamples/easypermissions
// implementation 'pub.devrel:easypermissions:1.1.0'
implementation ('com.github.junrar:junrar:7.4.0') {
['org.apache.commons','commons-logging'].each {
exclude group: "$it"
}
}
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
// (see https://github.com/ReactiveX/RxJava/releases for latest 3.x.x version)
implementation 'io.reactivex.rxjava3:rxjava:3.0.8'
// implementation files('libs/itsrts_pptviewer.jar')
implementation 'com.agrawalsuneet.androidlibs:dotsloader:1.4'
implementation 'com.google.android.gms:play-services-ads:19.6.0'
implementation 'org.apache.commons:commons-lang3:3.11'
implementation files('libs/jxl.jar')
implementation files('libs/aspose-words-17.2.0-android.jar')
implementation "com.folioreader:folioreader:0.5.4"
}
创建发布签名的 Apk 时出现此错误,我该如何解决?删除 gradle 缓存以及使 Android Studio 无效并重新启动时无法解决这些错误。
java.lang.ClassCastException:com.android.tools.r8.sbC 无法转换为 com.android.tools.r8.sbB
com.android.tools.r8.CompilationFailedException: 编译未能完成,位置:Lorg/readium/r2/streamer/parser/epub/OPFParser;parseSpine(Lorg/readium/r2/shared/parser/xml/Node;Lorg/readium /r2/shared/Publication;)V,来源:C:\Users\Asif Malik.gradle\caches\transforms2\files2.1\202fad4fee5b15436e55e2114f613e17\jetified-r2streamerkotlin1.0.42runtime.jar:org/readium/r2/streamer/parser /epub/OPFParser.class
com.android.tools.r8.sbC 不能转换为 com.android.tools.r8.sbB
Gradle 的依赖缓存可能已损坏(这有时会在网络连接超时后发生。)
重新下载依赖并同步项目(需要网络)
Gradle 构建过程(守护进程)的状态可能已损坏
解决方案
这是在http://issuetracker.google.com/175132220中跟踪的 R8 问题。
推荐阅读
- regex - Bash 脚本回溯参考
- arrays - 如何在不同的数组Swift中找到相同的元素
- typescript - Vuex 存储在组件库中
- python - 使用时间戳查找一天中的最大最小值并将其添加到现有数据帧
- python - Python,在类上使用相同名称的坏习惯
- javascript - 反应图像路径是正确的,但它没有找到/导入它
- android - 该应用程序没有出现在我的手机中
- git - 用旧的本地主分支覆盖当前的原始主分支
- python - 用两个不同的数据集重新训练你的 CNN 模型
- spring-boot - 我们可以在 Cordapp 中模拟“CordaRPCops”以进行测试吗?