想要别人安装你的apk,总不能让别人手机连接你的电脑命令行下载吧。但是我们项目会生成apk,直接将apk发送给用户即可。
apk所在目录 : android\app\build\outputs\apk\debug 中,直接将apk发送即可安装
1,生成一个签名密钥:
在项目目录 下输入命令行:
项目目录生成密钥文件:my-release-key.keystore
2,下载buddle文件放到asetts目录下
在项目目录下打开:android/app/src/main文件夹,在其中创建目录assets。
下载命令curl命令:https://curl.haxx.se/download.html#Win64
选择合适的curl文件,下载完毕后,将其中的curl.exe复制到项目工程目录下;
输入命令:react-native start
adb reverse tcp:8081 tcp:8081
curl "http://localhost:8081/index.android.bundle?platform=android" > android/app/src/main
结果报错说,我的android/app/src/main/assets不允许打开,就算没有权限,我生气了。
于是我打开网址"http://localhost:8081/index.android.bundle?platform=android",全部复制了代码,再在assets文件夹中新建了文件:index.android.bundle,将代码黏贴到其中。
3,打包的时候需要使用密钥签名:因为打包的apk在未签名的情况下,非root不允许安装
在android/app/build.gradle中,在defaultConfigs下添加:
signingConfigs{
release{
storeFile file("E://react/myproject1/android/app/src/main/assets/index.android.bundle")
storePassword "123456"
keyAlias "my-key-alias"
keyPassword "123456"
}
}
在下一个中添加一句话:signingConfig signingConfigs.release
4,启用proguard保护源代码和压缩apk
将上图中的splits中的一句改为
enable enableSeparateBuildPerCPUArchitecture=ture
如果有引入其他的原生库,需要再修改文件,proguard需要为你引入的其他库做一些额外的配置;
5,在android目录中执行:gradle assembleRease 命令,可以将代码打包成apk,生成的apk在E:\react\myproject1\android\app\build\outputs\apk\debug目录下,如果有问题,使用gradle clean 命令清除一下
grandle下载地址:http://services.gradle.org/distributions/