0

チャネルごとに異なる apk を生成したいので、build.gradle は次のようになります。

productFlavors {
        playstore {

        }
        hip {

        }
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

         hip {
            manifest.srcFile 'hip/AndroidManifest.xml'
}
         playstore {
            manifest.srcFile 'hip/AndroidManifest.xml'
}
        instrumentTest.setRoot('tests')
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

しかし、私がそれを構築するとき、私は持っています:

[AndroidManifest.xml:50, AndroidManifest.xml:50] Trying to merge incompatible /m
anifest/application/meta-data[@name=MobAd_CHANNEL] element:
  <meta-data
      @android:name="MobAd_CHANNEL"
--    @android:value="google market">
  <meta-data
      @android:name="MobAd_CHANNEL"
++    @android:value="hip">

:qingdaobus:processHipDebugManifest FAILED

FAILURE: Build failed with an exception.

だから私は本当に別のチャンネル値が欲しいという非常に混乱しています

4

1 に答える 1

1

「playstore」と「hip」ビルドのみを気にする場合は、独自の AndroidManifest.xml で MobAd_CHANNEL を定義するだけで、main/src/AndroidManifest.xml では定義しないでください。

于 2013-09-16T05:00:32.993 に答える