14

productFlavorsAndroid アプリに2 を使用したい:livestaging.

ではapp/build.grandle、次のように定義しました。

defaultConfig {
    applicationId "com.some.id"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
}
splits {...}
buildTypes {
    release {
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
    debug {
        debuggable true
        minifyEnabled false
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }

    productFlavors {
        live {
            applicationId "com.some.id"
        }
        staging {
            applicationId "com.some.id.staging"
        }
    }
}

実行するとreact-native run-android --variant=liveDebugすべて正常に動作しますが、実行しようとするとreact-native run-android --variant=stagingDebugエラーが発生します。

Installed on 1 device.

BUILD SUCCESSFUL

Total time: 11.824 secs
Starting the app on 192.168.56.101:5555 (/usr/local/opt/android-sdk/platform-tools/adb -s 192.168.56.101:5555 shell am start -n com.somepackage/.MainActivity)...
Starting: Intent { cmp=com.somepackage/.MainActivity }
Error type 3
Error: Activity class {com.somepackage/com.somepackage.MainActivity} does not exist.

出力が示すように、アプリはデバイスにインストールされましたが、MainActivity存在しないと表示されるのはなぜですか? このガイドによると正しいですが、異なるapplicationIdが原因だと思います

どうすればこれを解決できますか?

前もって感謝します!

4

6 に答える 6