Обновление до версии Gradle 4.0.0 нарушило сжатие кода R8 - PullRequest
1 голос
/ 30 мая 2020

Я обновил свою версию gradle до 4.0.0 с 3.6.3. Android Studio смогла правильно установить приложение, когда minifyenabled был истинным, а версия gradle была 3.6.3 без каких-либо проблем. В версии Gradle 4.0.0 и установке minifyenabled в значение true приложение даже не устанавливается. Вот что я вижу:

Installation did not succeed.
The application could not be installed: INSTALL_FAILED_INVALID_APK

List of apks:
[0] 'C:\Users\user\Desktop\Projects\Application\app\build\outputs\apk\debug\app-debug.apk'
[1] 'C:\Users\user\Desktop\Projects\Application\module1\build\outputs\apk\debug\module1-debug.apk'
[2] 'C:\Users\user\Desktop\Projects\Application\module2\build\outputs\apk\debug\module2-debug.apk'
[3] 'C:\Users\user\Desktop\Projects\Application\module3\build\outputs\apk\debug\module3-debug.apk'
[4] 'C:\Users\user\Desktop\Projects\Application\module4\build\outputs\apk\debug\module4-debug.apk'
[5] 'C:\Users\user\Desktop\Projects\Application\module5\build\outputs\apk\debug\module5-debug.apk'
The APKs are invalid.

файл build.gradle:

android {
    compileSdkVersion androidDependencies.compile_sdk_version
    buildToolsVersion "29.0.3"
    defaultConfig {
        applicationId "com.pills.mydemoapplication"
        minSdkVersion androidDependencies.min_sdk_version
        targetSdkVersion androidDependencies.target_sdk_version
        versionCode 7
        versionName "5.0.2"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
    buildTypes {
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    buildFeatures{
        dataBinding = true
    }
    dynamicFeatures = [":module1", ":module2", ":module3", ":module4", ":module5"]
}

build.gradle на уровне проекта

buildscript {
    ext.kotlin_version = '1.3.72'
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath "com.android.tools:r8:1.6.84"
        classpath "com.android.tools.build:gradle:4.0.0"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0-beta01"
    }
}

Ответы [ 2 ]

0 голосов
/ 02 июня 2020

После удаления следующей строки из build.gradle на уровне проекта все заработало.

classpath "com.android.tools:r8:1.6.84"

R8 теперь по умолчанию связан с Android Gradle Plugin, а версия R8 в AGP - 2.0.74 и Я заменил его на гораздо более старую версию, которая нарушила сжатие кода R8.

0 голосов
/ 01 июня 2020

Убедитесь, что все ваши библиотеки и пути к классам обновлены. У меня был устаревший путь к классам для плагинов firebase. Эта проблема возникла при использовании нового Gradle. После обновления пути к классам все выглядит нормально.

В моем случае. Я изменил это

classpath 'com.google.firebase:firebase-plugins:1.1.0'

на это

classpath 'com.google.firebase:perf-plugin:1.3.1'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...