如何使用最新的R8 Shrinker版本

时间:2019-03-08 15:07:39

标签: android android-gradle r8

由于一个错误,我将R8 Shrinker的本地jar文件(按照R8团队的建议)使用,并将类路径添加到顶部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,因为我没有关于此的任何文档

3 个答案:

答案 0 :(得分:1)

您应该添加以下内容:

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:...'
     }
}

答案 1 :(得分:0)

当前没有办法引用R8的最新版本。使用特定版本的R8仅应用于解决错误,当该修补程序到达Android Gradle插件时,应删除对特定版本R8的引用,而仅使用内置于Android Gradle插件中的R8。

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

答案 2 :(得分:0)

截至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
}