7

由于一个错误,我使用了 R8 Shrinker 的本地 jar 文件(由 R8 团队推荐),并将类路径添加到 top gradle.build

classpath files($..../R8.jar/$)

现在,无论对 Android Studio 进行任何更新,Gradle 构建仍然使用R8我之前使用过的旧版本V. 1.4.55

最近我看到他们发布了最新版本:V. 1.4.69 https ://r8.googlesource.com/r8/

所以我的问题是:如何配置 gradle 来告诉使用最新版本的 R8,因为我没有看到任何关于此的文档

4

3 回答 3

10

您应该添加以下内容:

buildscript {
    repositories {
        maven {
            url 'http://storage.googleapis.com/r8-releases/raw'
        }
    }
    dependencies {
        classpath 'com.android.tools:r8:1.4.71'  //Must be before the Gradle Plugin for Android. - Or any other version
        classpath 'com.android.tools.build:gradle:...'
     }
}
于 2019-03-10T01:28:02.637 回答
1

自 2020 年 7 月起,您可以执行以下操作:

将此添加到您的build.gradle文件中(对于项目,而不是应用程序)

 dependencies {
        classpath 'com.android.tools:r8:2.0.88'  // Must be before the Gradle Plugin for Android.
       // in addition to everything else that was here ....
    }

整个文件应该是这样的,供参考:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools:r8:2.0.88'  // Must be before the Gradle Plugin for Android.
        classpath 'com.android.tools.build:gradle:4.0.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
于 2020-07-04T21:08:22.367 回答
1

目前没有办法参考最新版本的R8。使用特定版本的 R8 只能用于解决错误,当该修复到达 Android Gradle 插件时,应删除对特定版本 R8 的引用,以便仅使用 Android Gradle 插件中内置的 R8。

这是为了限制使用特定的 R8 版本,避免开发者停留在旧版本上,并鼓励开发者使用捆绑了 Android Gradle 插件的版本。这限制了开发人员使用的不同版本的数量。

于 2019-03-18T12:43:12.630 回答