React NativeでAndroidアプリを環境ごとに共存させる
背景、動機
React NativeでiOSアプリを環境ごとに共存させる
上記の記事に続いて、Androidでも同様にステージング環境を新たに作成し、各環境ごとのアプリを1つの端末に共存させるようにします。
目指す姿
以下のように、1つの端末に各環境のアプリを別名で共存させます。
手順
-
app/build.gradle
の buildTypes にstaging
を追加。
-
debug
とstaging
のapp_name
を変更。
1. app/build.gradle
の buildTypes にstaging
を追加。
1-1. buildTypes にstaging
を追加。
app/build.gradle
の buildTypes にstaging
を追加。debug
とstaging
のapp_name
を変更。app/build.gradle
の buildTypes にstaging
を追加。staging
を追加。app/build.gradle
ファイルを開き、buildTypes にstaging
を追加します。
端末にアプリを共存させるために、applicationIdSuffix
をdebug
にも追加してください。
// app/build.gradle
buildTypes {
debug {
signingConfig signingConfigs.debug
applicationIdSuffix ".dev" // 1. debugビルドを別名アプリにするため、suffixを追加する。
}
staging { // 2. ステージング環境用のbuildTypeを追加する。
initWith release // 3. Releaseをベースにする。
signingConfig signingConfigs.debug // 4. signingConfigはdebugを指定する。
matchingFallbacks = ['release'] // 5. React関連を含む外部ライブラリがreleaseのbuildTypeを使うように。
applicationIdSuffix ".stg" // 6. stagingビルドを別名アプリにするため、suffixを追加する。
}
release {
...
}
}
1-2. Reactのステージング用設定を追加
project.ext.react = [
bundleInStaging: true, // 1. bundleInStagingをtrueに。
devDisabledInStaging: true, // 2. devDisabledInStagingをtrueに。
entryFile: "index.js",
enableHermes: false,
]
1-3. Hermesの設定でstagingImplementation
を追加
if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
stagingImplementation files(hermesPath + "hermes-release.aar") // 1. stagingImplementationを追加
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
}
2. debug
とstaging
のapp_name
を変更
app/src/debug
をコピーしてapp/src/staging
を作成します。
app/src/debug/res/values/strings.xml
と、
app/src/staging/res/values/strings.xml
を以下のように修正します。
<!-- // app/src/debug/res/values/strings.xml -->
<resources>
<string name="app_name">Dev Your App Name</string>
</resources>
<!-- // app/src/staging/res/values/strings.xml -->
<resources>
<string name="app_name">Stg Your App Name</string>
</resources>
端末にインストールする
- Android 端末を PC に接続し、Android Studio を起動します。
- [Build] -> [Select Build Variant...]を選択し表示されたウィンドウから
debug
もしくはstaging
を選択しビルドしてください。
-
debug
を選択しビルドを実行するとアプリ名にDevが追加されたものが、staging
wp選択しビルドを実行するとStgが追加されたものがインストールされます。
release
を選択した場合は今までと同じように、アプリ名に何も追加されずインストールできます。
debug
もしくはstaging
を選択しビルドしてください。debug
を選択しビルドを実行するとアプリ名にDevが追加されたものが、staging
wp選択しビルドを実行するとStgが追加されたものがインストールされます。
release
を選択した場合は今までと同じように、アプリ名に何も追加されずインストールできます。Author And Source
この問題について(React NativeでAndroidアプリを環境ごとに共存させる), 我々は、より多くの情報をここで見つけました https://qiita.com/nouka/items/26c0c649d114b752ae74著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .