更改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