1

최근에 Eclipse에서 Android Studio로 프로젝트를 가져 왔고 Gradle의 projectFlavors를 통합하여 다양한 환경 (DEV, QA 및 PROD)을 지원했습니다. 앱 인 청구서 수신에 문제가 발생했지만 그것은 Google 스토어를 쿼리하는 패키지 이름을 사용하는 것하지만 내 productFlavors에 따라 패키지 이름이 바뀝니다. 시간에 대한gradle 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:[email protected]' 
    compile 'com.android.support:support-v4:+' 
    compile 'com.google.android.gms:play-services:[email protected]' 
    compile files('libs/adgear-android-sdk.jar') 
    compile files('libs/crashlytics.jar') 
    compile files('libs/libGoogleAnalyticsServices.jar') 
    compile project(':libraries:facebook') 
} 

감사합니다.

+0

각 맛의 패키지 이름을 변경하지 않았습니다. 이렇게하면 동일한 전화에 여러 가지 변형을 동시에 설치할 수는 없지만 문제는 해결됩니다. –

+0

네, 실제로 내 문제를 해결할 것이지만 동일한 전화에 다른 변종을 모두 설치하고 앱 청구서에 Google을 사용하도록 설치하고 싶습니다. –

답변

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