更改Android项目名称、包名。

  • /javamall/android/javashop.iml

javashop.iml --> javamall.iml

<module external.linked.project.id="javashop"...>
==========>
<module external.linked.project.id="javamall"...>
  • /javamall/android/local.properties #如果有这个文件,就删掉它

  • /javamall/android/settings.gradle

rootProject.name = 'javashop'
==========>
rootProject.name = 'javamall'
  • /javamall/android/app/BUCK

46行开始

android_build_config(
    name = "build_config",
    package = "com.enation.b2b2c.reactNative",
)

android_resource(
    name = "res",
    package = "com.enation.b2b2c.reactNative",
    res = "src/main/res",
)
==========>
android_build_config(
    name = "build_config",
    package = "com.javamall",
)

android_resource(
    name = "res",
    package = "com.javamall",
    res = "src/main/res",
)
  • /javamall/android/app/build.gradle

更改包名。此外如果有第三方引入,需要删除。

...
android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        applicationId "com.enation.b2b2c.reactNative"
        ...
dependencies {
    compile project(':react-native-yunpeng-alipay')
    compile project(':react-native-wechat')
    compile project(':react-native-version-number')
    compile project(':react-native-vector-icons')
    compile project(':react-native-image-picker')
    compile project(':react-native-clear-cache')
    compile project(':react-native-camera')
    compile project(':react-native-blur')
    compile project(':react-native-background-timer')
    compile project(':react-native-addressselector')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
}
...
==========>
...
android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

    defaultConfig {
        applicationId "com.javamall"
        ...
dependencies {
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
}
...
  • /javamall/android/app/src/main/AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.enation.b2b2c.reactNative"
    android:versionCode="1"
    android:versionName="1.0">
==========>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.javamall"
    android:versionCode="1"
    android:versionName="1.0">
  • /javamall/android/app/src/main/res/values/strings.xml
<resources>
    <string name="app_name">javashop</string>
</resources>
==========>
<resources>
    <string name="app_name">javamall</string>
</resources>
  • /javamall/android/app/src/main/java/com

在这个文件夹下可以看到有一个enation文件夹

在enation同级目录新建javamall文件夹 并将enation/b2b2c/reactNative/文件夹下的wxapi、MainActivity.java、MainApplication.java移动到刚刚新建的javamall文件夹下 然后enation文件夹就可以删掉了 这样我们的包目录结构就更换为跟包名com.javamall一致了

下面开始使用新路径

  • /javamall/android/app/src/main/java/com/javamall/MainActivity.java
package com.enation.b2b2c.reactNative;

import com.facebook.react.ReactActivity;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "javashop";
    }
}
==========>
package com.javamall;

import com.facebook.react.ReactActivity;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "javamall";
    }
}
  • /javamall/android/app/src/main/java/com/javamall/MainApplication.java

修改第一行的包名。此外如果有第三方库的引用,需要删掉

package com.enation.b2b2c.reactNative;

import android.app.Application;

import com.facebook.react.ReactApplication;
import com.yunpeng.alipay.AlipayPackage;
import com.theweflex.react.WeChatPackage;
import com.apsl.versionnumber.RNVersionNumberPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.imagepicker.ImagePickerPackage;
import com.example.qiepeipei.react_native_clear_cache.ClearCachePackage;
import com.lwansbrough.RCTCamera.RCTCameraPackage;
import com.cmcewen.blurview.BlurViewPackage;
import com.ocetnik.timer.BackgroundTimerPackage;
import com.enation.javashop.reactnative.android.addressselector.AddressSelectorPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
...
return Arrays.<ReactPackage>asList(
  new MainReactPackage(),
    new AlipayPackage(),
    new WeChatPackage(),
    new RNVersionNumberPackage(),
    new VectorIconsPackage(),
    new ImagePickerPackage(),
    new ClearCachePackage(),
    new RCTCameraPackage(),
    new BlurViewPackage(),
    new BackgroundTimerPackage(),
    new AddressSelectorPackage()
 );
==========>
package com.javamall;

import android.app.Application;

import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
...
return Arrays.<ReactPackage>asList(
  new MainReactPackage()
);
  • /javamall/android/app/src/main/java/com/javamall/wxapi/WXPayEntryActivity.java
package com.enation.b2b2c.reactNative.wxapi;
==========>
package com.javamall.wxapi;
到这里,我们的安卓项目名和包名都已经更换完成。

接下来我们只需要在根目录

# 安装依赖
npm install
# 等待完成后,进入android目录
cd android
# 使用gradlew脚本清理缓存
./gradlew clean
# 回到根目录
cd ..
# 链接第三方库
react-native link
# 启动项目
react-native run-android

results matching ""

    No results matching ""