我已将我的Android项目升级为使用最新的Android Studio 3.0功能。从那时起,我在每个Gradle同步上收到以下警告消息:
警告:您使用的其中一个插件支持Java 8语言 特征。要尝试Android插件内置的支持,请删除 从build.gradle开始: 申请插件:'dexguard'要了解详情,请转到https://d.android.com/r/tools/java-8-support-message.html
如果我转到链接的网址,我可以看到:
如果Android Studio检测到您的项目正在使用Jack, Retrolambda或 DexGuard ,IDE使用提供的Java 8支持 而是那些工具。
有Jack和Retrolambda的迁移文档,但DexGuard没有。
我的问题是:
我正在运行Android Studio 3.0和DexGuard 8.0.16
答案 0 :(得分:0)
您可能正在使用Dexguard进行代码混淆,加密或篡改检测。因此删除它将删除这些功能。您应该尝试使用dexguard的8.0.17版本,并从构建配置中删除retrolamb,Jack和Dexguard-java8插件。
在我的应用程序上,这似乎继续工作,在8.0.15 / 8.0.16上我仍然必须启用dexguard-java8才能让它正常工作。
在您的app build.gradle中添加此项以启用java8编译。
apply plugin: 'dexguard'
...
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
在你的project.gradle中添加
buildscript {
repositories {
flatDir { dirs 'dexguard' }
...
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath ':dexguard:'
...
}
}
并确保gradle文件中没有对retrolambda或dexguard-java8的引用,一切都应该可以正常工作。