1

我最近将我的项目从 Eclipse 导入到 Android Studio,并集成了 Gradle 的 projectFlavors 以支持不同的环境(DEV、QA 和 PROD)。尽管我的应用内计费遇到了问题。似乎使用包名来查询谷歌商店,但根据我的 productFlavors 包名会发生变化。

我的 gradle.build 定义

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    productFlavors {
        Prod {
            packageName 'com.test.app'
        }
        Qa{
            packageName 'com.test.app.qa'
            versionName '1.2-QA'
        }
        Dev{
            packageName 'com.test.app.dev'
            versionName '1.2-DEV'
        }
    }
}
repositories{
    mavenCentral()
    mavenLocal()
}

dependencies {
    compile 'com.test.android:infra:1.0@aar'
    compile 'com.android.support:support-v4:+'
    compile 'com.google.android.gms:play-services:4.3.23@aar'
    compile files('libs/adgear-android-sdk.jar')
    compile files('libs/crashlytics.jar')
    compile files('libs/libGoogleAnalyticsServices.jar')
    compile project(':libraries:facebook')
}

谢谢你的时间。

4

1 回答 1

0

您必须将 packageName 属性更改为 applicationId。

productFlavors {
    Prod {
        applicationId 'com.test.app'
    }
    Qa{
        applicationId 'com.test.app.qa'
        versionName '1.2-QA'
    }
    Dev{
        applicationId 'com.test.app.dev'
        versionName '1.2-DEV'
    }
}
于 2016-07-09T16:20:39.027 回答