如何为发布/调试版本提供不同的gradle.properties文件?

时间:2017-11-14 09:22:26

标签: android gradle android-gradle

我们需要为发布和调试版本提供具有不同配置的gradle.properties个文件,因为我们使用的一些功能是实验性的,它们会破坏一些东西。这可能吗?

我们的gradle.properties文件

的示例
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx1500m -XX:MaxPermSize=512m
org.gradle.parallel=true
kotlin.incremental=true
android.enableD8=true

2 个答案:

答案 0 :(得分:0)

根据官方文件:

您可以在android块内的模块级build.gradle文件中创建和配置构建类型。创建新模块时,Android Studio会自动为您创建调试和发布构建类型。虽然调试版本类型没有出现在构建配置文件中,但Android Studio使用debuggable true配置它。这允许您在安全的Android设备上调试应用程序,并使用通用调试密钥库配置APK签名。

如果要添加或更改某些设置,可以将调试版本类型添加到配置中。以下示例为调试版本类型指定applicationIdSuffix,并配置使用调试版本类型的设置初始化的“staging”构建类型。

您可以将相同的build.gradle用于发布和调试模式,例如:

buildTypes {
        release {
// Do whatever you want to do in release mode
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
// Do whatever you want to do in debug mode
            applicationIdSuffix ".debug"
            debuggable true
        }

        /**
         * The `initWith` property allows you to copy configurations from other build types,
         * then configure just the settings you want to change. This one copies the debug build
         * type, and then changes the manifest placeholder and application ID.
         */
        staging {
            initWith debug
            manifestPlaceholders = [hostName:"internal.example.com"]
            applicationIdSuffix ".debugStaging"
        }
    }

参考:Source

答案 1 :(得分:-1)

buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        debuggable false
        signingConfig signingConfigs.releaseConfig
    }
    debug1 {
        debuggable true
        signingConfig signingConfigs.debug
    }
    debug2 {
        debuggable true
        signingConfig signingConfigs.debug
    }
}

你来了不同的构建变体,如上面和Android工作室选择构建变体选项(通常在左下角)。选择要构建apk的变体并运行应用程序。