如何修改React Native的包名
2019-07-05 本文已影响0人
阿拉斌
在我的项目中,我有一个叫做BaseApp的基础项目,我在创建新的项目的时候,都会使用这个项目来作为主仓库,我clone这个项目的代码下来,然后修改包名,替换文件就好了,那么,要修改哪些地方呢
首先使用快捷键shift+F6,对项目的包进行重构,
之后,我们检测这么几个文件,看看是否修改了
app\build.gradle
文件下面的applicationId
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId "com.theling.***"
app\settings.gradle
文件下面的rootProject.name
rootProject.name = '***'
include ':jcore-react-native'
src/main/AndroidManifest.xml
下面的一些包名
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.theling.***">
<!-- 111 -->
<application
android:name="com.theling.***.MainApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/AppTheme">
<!-- 新增如下代码 -->
<activity
android:name="com.theling.***.MainActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
除了上面那些,还有一个地方需要改,不然会报错:Application RNApp has not been registered.
在index.js中我们对APP进行了注册
/**
* @format
* @lint-ignore-every XPLATJSCOPYRIGHT1
*/
import { AppRegistry } from 'react-native';
import App from './src/App';
import { name as appName } from './app.json';
AppRegistry.registerComponent(appName, () => App);
也就是说app.json也是要改成我们的新名字的
{
"name": "***",
"displayName": "***"
}
这里我只对Android的进行了修改,IOS的因为没有条件,就没有动了