Android Studio 3.0中的DexGuard集成

Dan*_*nai 5 dexguard android-studio-3.0

我已将我的Android项目升级为使用最新的Android Studio 3.0功能.从那时起,我在每个Gradle同步上收到以下警告消息:

警告:您使用的其中一个插件支持Java 8语言功能.要尝试Android插件中内置的支持,请从build.gradle中删除以下内容:apply plugin:'dexguard'要了解详情,请访问https://d.android.com/r/tools/java-8-support -message.html

如果我转到链接的网址,我可以看到:

如果Android Studio检测到您的项目使用的是Jack,Retrolambda或DexGuard,则IDE会使用这些工具提供的Java 8支持.

有Jack和Retrolambda的迁移文档,但DexGuard没有.

我的问题是:

  • 我可以删除DexGuard插件,它仍然可以按预期工作吗?
  • 如果不是,我应该如何解决此警告?

我正在运行Android Studio 3.0和DexGuard 8.0.16

Aeg*_*gis 0

您可能正在使用 Dexguard 进行代码混淆、加密或篡改检测。因此删除它就会删除这些功能。您应该尝试 dexguard 8.0.17 版本,并从构建配置中删除 Retrolamb、Jack 和 Dexguard-java8 插件。

在我的应用程序上,这似乎继续工作,在 8.0.15/8.0.16 上,我仍然必须启用 dexguard-java8 才能使其工作。

在您的应用程序 build.gradle 中添加此内容以启用 java8 编译。

apply plugin: 'dexguard'
...
android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}
Run Code Online (Sandbox Code Playgroud)

在你的project.gradle中只需添加

buildscript {
  repositories {
    flatDir { dirs 'dexguard' }
    ...
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'
    classpath ':dexguard:'
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

并确保您的 gradle 文件中没有对 Retrolambda 或 dexguard-java8 的引用,并且一切都应该正常工作。