我最近开始学习如何通过Android Studio为Android设备编程。我的第一个应用程序运行良好,直到我今天早上升级到Android Studio 3.4。
我得到以下编译错误:
原因:com.android.builder.dexing。DexArchiveBuilderException:无法处理C:\Users\Technical.gradle\caches\transforms-2\files-2.1\4f3f8638c6a9f961dae488a0387efb6b\jars\classes.jar
原因:com.android.builder.dexing.DexArchiveBuilderException:德兴时出错。
原因:com . Android . tools . r8 . compilationfailedexception:编译未能完成
原因:com.android.tools.r8.utils。AbortException:错误:仅从Android O(--min api 26)开始支持调用自定义
有没有办法恢复到我以前的Android Studio版本?
如果不是,新版本中发生了什么变化导致创建dex文件失败?
我已经尝试按照这里的建议在< code>gradle.properties中添加< code > Android . enabled 8 = true ,但是没有成功。
编辑#1:
还将添加多DexEnabled绑定
到应用程序build.gradle
文件中的默认配置,但相同的编译错误仍然存在。
该构建文件完整...
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "qdivision.org.qrtracker"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.github.felHR85:UsbSerial:6.0.5'
}
对我来说,在BUILD中遵循命令。格雷德删除了该错误。
defaultConfig {
applicationId "com.example.myapptestheader"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
我只是补充道
multiDexEnabled true
我必须从buildTypes
配置中删除useProGuard true
。
根据文档,缩小启用真实
足以用R8混淆您的代码。
例:
android {
buildTypes {
debug {
versionNameSuffix "-dev"
minifyEnabled true // <- remove this line when using instant run
useProguard true // <- remove this line
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro"
}
release {
shrinkResources true
minifyEnabled true
useProguard true // <- remove this line
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro"
}
}
}
尝试将以下内容添加到您的应用程序/build.gradle
以使您的Android项目编译与Java8兼容。
android {
....
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
....
}
之前我使用的版本是gradle 26,但是在将buildtoolsversion改为27之后,就像这张图片一样 我正在使用android Studio 4.2.2最近我更新了我所有的依赖和 到 更新后,我得到了这个错误,请帮助
我的代码库使用了一些Java 8语法,比如lambdas,并且在很长一段时间内都运行良好。 最近,我在一个模块中的仪表化测试停止了与臭名昭著的消息一起工作: AGPBI: {“种类”:“错误”,“文本”:“仅支持从 Android O (--min-api 26)开始调用自定义”“,”源“:[{}],”工具“:”D8“} 这是一个已知的问题(有很多问题引用它),但我的编译中有Java 1.8: 该
当我遇到这个错误时,我正在调试一个应用程序
编译libgdx游戏时,我从android studio收到以下错误: 我不明白,因为我不使用默认的接口方法。我的代码用JDK1编译得很好。7.此处报告的错误与以下代码有关: 这里没有默认方法。请注意,如果我删除此重写,并在调用站点向MiscItem添加强制转换,编译器报告将转到下一个错误(同类),因为我在许多地方使用了此模式。我使用gradle,并在我的build.gradle文件中包含以下内容
试图在二进制图像上运行findContour” thorws错误: 有什么想法吗?谢啦