React native Android 命令 打包apk

1.引言

文档日期 2017/01/08

React Native版本为0.40

2.打包步骤

(一)、Android签名文件生成(条件阶段

使用java工具keytool生成签名文件,命令如下:

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
其中  my-release-key.keystore 是生成的签名文件, my-key-alias 是文件的别名, 有效期为10000天。

打开cmd,你想生成的签名文件存在哪个路径下,那么久切换到哪里,我的秘钥文件存储在D:\appkey下,命令行如下:


然后再使用keytool命令,如上命令,输入如下图:


回车(当然前提是你已经安装java环境并配置环境变量):完成这个命令的执行,我们需要填写:


完成后,会在当前目录生成一个签名文件:


(二)、配置gradle全局变量(条件阶段

1.Windows配置

C:\Users\用户名\下创建文件为: gradle.properties

2.mac配置

/Users/用户名下创建文件为:gradle.properties
gradle.properties 文件的内容是:
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****

如下:


(三)给我们的项目添加签名(准备阶段

现在我们的条件准备好了,就是以上两个步骤:

1.Android签名文件生成

2.配置gradle全局变量

现在我们把  签名文件my-release-key.keystore放在我们的react native项目的android\app下,如下图示:
然后 编辑项目目录下的android/app/build.gradle,添加如下的签名配置:
...
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
...

(四)、生成带签名的APK包(制作APK阶段

分两种情况

1.在项目的android/app下有一个react.gradle文件的情况

执行如下两个命令

$ cd android 
$ gradlew assembleRelease

2.在项目的android/app下没有react.gradle文件(我的情况)

执行如下命令

$ mkdir -p android\app\src\main\assets
$ react-native bundle --platform android --dev false --entry-file index.android.js \ --bundle-output android/app/src/main/assets/index.android.bundle \ --assets-dest android/app/src/main/res/
$cd android && ./gradlew assembleRelease

执行mkdir -p android\app\src\main\assets 命令如下:

在android\app\src\main 下生成文件assets,如下:


执行:react-native bundle --platform android --dev false --entry-file index.android.js \ --bundle-output android/app/src/main/assets/index.android.bundle \ --assets-dest android/app/src/main/res/ 命令如下:


完成后,在项目的android\app\src\main\assets下就会生成两个文件,如下:


主要是index.android.bundle文件。

执行最后一条命令:

gradlew assembleRelease

如下:


会在android\app\build\outputs\apk路径下生成app-release.apk,这个就是要发布的apk

如下图:


如果想重新再更新发布,你可以先使用 

gradlew clean
清理一下上次打包的。

命令执行结果如下:







  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi竹子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值