Chcę użyć 2 productFlavors
dla mojej aplikacji na Androida: live
i staging
.React-produkt rodzimy Smaki (typ błędu 3: klasa aktywności nie istnieje)
W app/build.grandle
zdefiniowałem je tak:
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"
}
}
}
Teraz gdy uruchamiam react-native run-android --variant=liveDebug
wszystko działa dobrze, ale gdy próbuję uruchomić react-native run-android --variant=stagingDebug
pojawia się błąd:
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.
jako wyjście mówi, aplikacja została zainstalowana na urządzeniu, ale dlaczego nie istnieje MainActivity
? Przypuszczam, że jest to spowodowane odmiennym ID aplikacji, chociaż jest poprawne zgodnie z this guide
Jak mogę to rozwiązać?
Z góry dziękuję!
Zobacz http://stackoverflow.com/a/43736188/3163075 –