Тестирование релизного приложения на android с тестовым apk, не защищенным

Я хочу протестировать релиз apk на android с включенным proguard. Но я не хочу, чтобы тестовый apk для Android был включен.

Есть ли способ отключить защиту тестового apk android.

Я добавил это

defaultConfig { 
   ....
   testBuildType 'release'`
  }

и

    buildTypes {
        release {
            minifyEnabled true
            signingConfig signingConfigs.Release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            //proguard files for the android test apk
            testProguardFile('proguard-test-rules.pro')
        }
}

Ищу способ отключить прогард для теста андроида.

создайте другой buildType, скопируйте его конфигурацию из release, но отключите minifyEnabled и запустите на нем тесты

Vladyslav Matviienko 17.11.2018 22:41

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

jgm 17.11.2018 22:43
release - это просто название типа сборки. Вы фактически говорите, что хотите другую конфигурацию, не создавая другую конфигурацию. Добавление нового типа сборки совершенно бесплатно, поэтому я не вижу единственной причины, по которой вы не можете этого сделать.
Vladyslav Matviienko 17.11.2018 22:44
0
3
449
2

Ответы 2

Получил это работать следующим образом.

android {

    defaultConfig {

        /**
         * switch to testBuildType release when the parameter has androidTestRelease
         * ./gradlew :app:assembleReleaseAndroidTest -PandroidTestRelease
         **/
        if (project.hasProperty('androidTestRelease')) {
            testBuildType 'release'
        } else {
            testBuildType 'debug'
        }
    }


    buildTypes {
        release {

            /***
             * Disable proguard when building the android test release apk
             * ./gradlew :app:assembleReleaseAndroidTest -PandroidTestRelease
             */
            if (project.hasProperty('androidTestRelease')) {
                minifyEnabled false
            } else {
                minifyEnabled true
            }

            signingConfig signingConfigs.Release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            testCoverageEnabled = true
        }
    }

}

Вы можете собрать apk, используя

./gradlew :app:assembleReleaseAndroidTest -PandroidTestRelease

отключать ProGuard (наверное) бесполезно ... лучше создать пакет debuggable:

staging {

    signingConfig signingConfigs.Release
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    testCoverageEnabled true
    minifyEnabled false
    zipAlignEnabled true
    shrinkResources true
    pseudoLocalesEnabled false
    renderscriptDebuggable true
    jniDebuggable true
    debuggable true
}

пока нет даже уверенности в том, что можно проводить тесты для релизных сборок (по дизайну).

Нет. Я хочу протестировать его с тем же apk, который используется для выпуска. Может есть какой способ просто отключить прогуарды только для тестового apk. Я ищу это

jgm 19.11.2018 10:15

Другие вопросы по теме