ReactNative打包Android项目APK包

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

// 配置AndroidSDK环境
export ANDROID_SDK_PTOOLS=/Users/yangbin/Library/Android/sdk/platform-tools
export PATH=${PATH}:$ANDROID_SDK_PTOOLS
// 配置AndroidSDKTools环境
export ANDROID_SDK_TOOS=/Users/yangbin/Library/Android/sdk/tools
export PATH=${PATH}:$ANDROID_SDK_TOOLS
// 配置NDK环境
export NDK_ROOT=/Users/yangbin/Library/Android/android-ndk-r12
export PATH=${PATH}:$NDK_ROOT/
// 配置gradle环境
export GRADLE_HOME=/Users/yangbin/Library/Android/gradle-2.14.1
export 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复制到手机中安装运行 


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值