如何基于现有React Native CLI项目构建可独立安装的Lite版应用
React Native CLI 打造Lite版安卓应用实现共存的修改方案
要让Lite版和原应用在安卓设备共存,核心是修改应用唯一标识(applicationId),同时调整区分性的资源(名称、图标),以下是具体修改文件和操作:
1. 修改安卓应用核心标识(必改)
路径:android/app/build.gradle
- 找到
defaultConfig块里的applicationId,将原标识(比如com.myapp)改为新的唯一值,例如com.myapp.lite - 可选:调整
versionName为带Lite标识的版本,比如versionName "1.0.0-lite",方便区分版本
如果想更高效管理多版本,推荐用**产品风味(Product Flavors)**配置,不用重复改文件:
在android块内添加:
productFlavors { full { applicationId "com.myapp" versionName "1.0.0" } lite { applicationId "com.myapp.lite" versionName "1.0.0-lite" // 直接在这里定义Lite版的应用名称,不用改strings.xml resValue "string", "app_name", "My App Lite" } }
配置后,打包Lite版用命令:./gradlew assembleLiteRelease,原版用./gradlew assembleFullRelease
2. 调整应用名称(必改)
如果不用Product Flavors,手动修改:
路径:android/app/src/main/res/values/strings.xml
- 修改
app_name字段的值,比如从My App改为My App Lite
3. 替换应用图标(必改)
为了让用户直观区分两个应用,替换Lite版的启动图标:
- 路径:
android/app/src/main/res/mipmap-*(包含不同分辨率的文件夹) - 将每个文件夹下的
ic_launcher.png和ic_launcher_round.png替换为Lite版专属图标
4. 修正权限与组件配置(按需修改)
路径:android/app/src/main/AndroidManifest.xml
- 如果原项目中有自定义权限(比如推送、文件访问权限),将权限的前缀改为新的
applicationId,例如原com.myapp.permission.C2D_MESSAGE改为com.myapp.lite.permission.C2D_MESSAGE - 检查所有用到原package的组件配置,确保和新的applicationId匹配
5. 自定义配置分离(按需修改)
如果Lite版需要不同的业务配置(比如API地址、功能开关):
- 若用
.env文件,可创建.env.lite,在Product Flavors中指定加载该配置(需配合react-native-config等工具) - 或在代码中通过
BuildConfig.FLAVOR判断当前是full还是lite版本,执行不同逻辑
完成以上修改后,打包生成的Lite版APK即可和原应用在同一设备共存安装,不会互相覆盖。
内容的提问来源于stack exchange,提问作者Eli
相关产品推荐
相关产品推荐

