如何修改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的因为没有条件,就没有动了

上一篇 下一篇

猜你喜欢

热点阅读