ReactNative打包Android项目APK包

来源:互联网 发布:淘宝联盟绑定支付宝 编辑:程序博客网 时间:2024/05/20 05:05

1、必须将gradle环境配置好(以MAC为例,在根目录下打开 .bash_profile文件,如下编写即可)

// 配置AndroidSDK环境
export ANDROID_SDK_PTOOLS=/Users/yangbin/Library/Android/sdk/platform-toolsexport PATH=${PATH}:$ANDROID_SDK_PTOOLS
// 配置AndroidSDKTools环境export ANDROID_SDK_TOOS=/Users/yangbin/Library/Android/sdk/toolsexport PATH=${PATH}:$ANDROID_SDK_TOOLS
// 配置NDK环境export NDK_ROOT=/Users/yangbin/Library/Android/android-ndk-r12export PATH=${PATH}:$NDK_ROOT/
// 配置gradle环境export GRADLE_HOME=/Users/yangbin/Library/Android/gradle-2.14.1export PATH=$PATH:$GRADLE_HOME/bin

保存之后,输入 source .bash_profile

然后输入 gradle -version 检查是否配置成功


2、创建项目

react-native init androiddemo
3、在androiddemo目录中找到路径/android/app/src/main,并在该目录下新建《assets》文件夹,这个文件夹存放android app的资源文件。

4、在/androiddemo/路径下执行react-native start命令,待执行完毕以后再执行以下命令

curl -k 'http://localhost:8081/index.android.bundle' > android/app/src/main/assets/index.android.bundle


或者:react-native bundle --entry-file index.android.js --bundle-output ./android/app/src/main/assets/index.android.bundle --platform android --assets-dest ./android/app/src/main/res/ --dev false


该命令的意思是将index.android.bundle下载并保存到assets资源文件夹中

这句命令是重点,如果assets目录中不存在该文件,则打包的apk在执行时显示空白。

5、

打包的apk在未签名的情况下,在手机中(非root)是不允许安装的,所以需要添加gradle的android keystore配置,在build.gradle文件中,具体配置如下

 //签名signingConfigs{    release {        storeFile file("/Volumes/Android.KeyStore/AndroidDebug.keystore")        storePassword "密码"        keyAlias "keyAlias的名字"        keyPassword "密码"    }} buildTypes {    release {        minifyEnabled false        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        signingConfig signingConfigs.release //添加这句话引用签名配置    }}


注意一下配置顺序

5、在androiddemo/android/目录中执行gradle assembleRelease命令,打包后的文件在 androiddemoi/android/app/build/outputs/apk目录中,例如app-release.apk。如果打包碰到 问题可以先执行 gradle clean 清理一下。

6、将apk复制到手机中安装运行 


其实基本上就是官网所说的一样,反正我是这么做的

0 0
原创粉丝点击