React Native for Android应用名及图标修改

时间:2024-10-31 11:05:14

应用开发完了,总不能顶着MyProject和小机器人图标就发布了吧?在发布之前,有多处需要修改的地方。今天我们来全面的看一下


应用ID

俗称PackageName,或APP ID。注意,在gradle构建的安卓应用里(React Native引用都是由gradle构建的),不要直接修改AndroidManifest.xml中的package字段,不但连源代码也要跟着改,而且结果还没用……

正确的改法是修改android/app/build.gradle中的以下内容:

……
android {
……
defaultConfig {
applicationId "com.myproject" <-- 就是这行
……
}
……
}

另外,修改后,你会发现react-native run-android无法启动应用(或者总是启动之前的版本),因为这时候还是试图启动原来的包名。这是因为react native官方还有一个BUG。你可以参照此PR修改,也可以在run-android后手动找到应用并打开。

版本号

还是在android/app/build.gradle中,versionCode 和versionName两项。versionCode必须每次增加,不能减少。每次发布之前,这两项都要修改哦~

应用名称

android/app/src/main/res/values/strings.xml中,找到<string name="app_name">MyProject</string>,中间的MyProject就是应用名称了。

图标

android/app/src/main/res/下,你会看到一系列mipmap开头的文件夹(默认是4个),按照里面ic_launcher.png的尺寸,生成四个版本的icon并替换。

有时候图标修改会迟迟不生效,此时从手机上彻底删掉原应用,删掉文件夹android/buildandroid/app/build,然后再重新打包

签名

要想打出发布包来,签名是必须的。你可以参照此文档生成并使用签名,相关内容都在android/app/build.gradle,包括

...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...

通过环境变量配置签名有助于确保签名安全。当然,你也可以直接配置这些字段吗,像这样:

    signingConfigs {
release {
keyAlias 'store'
keyPassword '123456'
storeFile file('../../keystore/keystore.jks')
storePassword '123456'
}
}