react-native工程 打包
来源:互联网 发布:竹庆本乐仁波切 知乎 编辑:程序博客网 时间:2024/06/06 02:28
如果做过Android原生开发的,react-native打包跟Android打包就大同小异了,先说明一下,这针对window7系统。
1、看看自己有没有配好了gradle环境变量,如果配好了,这一步可以跳过。
配置步骤:
先去官网下载自己对应版本的gradle,然后直接解压即可,我这里直接解压在Android开发的相关目录下
计算机->鼠标右击选择属性->高级系统设置->高级->环境变量->点击”新建“,配置”GRADLE_HOME“,如图:
继续在此处选择“path”,进行修改,加入“;%GRADLE_HOME%\bin”,注意此处没有引号,记得前面要加分号(要切换到英文模式),这样就配置好gradle的环境变量了
配置完后认证一下,可以在cmd控制台上 输入echo %path%
看到这个,所以配置成功了。
2.正式开始打包的配置:
第一步:先生成一个签名的密钥
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
这条命令会要求你输入密钥库(keystore)和对应的密钥的密码,然后设置一下发行相关的信息。最后它会生成一个叫做my-release-key.keystore的密钥库文件。
在运行上面这条语句之后,密钥库里应该已经生成了一个单独的密钥,有效期为10000天。-alias参数后面的别名是你将来为应用签名时所需要用到的,所以记得记录下这个别名。
注:请记得妥善保管好你的密钥库文件,不要上传到版本库或者其它地方。
第二步:设置gradle变量
把my-release-key.keystore文件放到你工程中的android/app文件夹下
添加签名到应用的gradle配置文件
...
android {
...
defaultConfig { ... }
//配置签名
signingConfigs {
release {
storeFile file("/my-release-key.keystore")
storePassword "******" //生成密钥时自己设置的密码
keyAlias "my-key-alias"
keyPassword "******"" //同上
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release //引用签名的配置
}
}
}
启用Proguard代码混淆来缩小APK文件的大小(可选)
Proguard是一个Java字节码混淆压缩工具,它可以移除掉React Native Java(和它的依赖库中)中没有被使用到的部分,最终有效的减少APK的大小。
重要:启用Proguard之后,你必须再次全面地测试你的应用。Proguard有时候需要为你引入的每个原生库做一些额外的配置。参见app/proguard-rules.pro文件。
要启用Proguard,编辑android/app/build.gradle文件:
/**
* 运行Proguard来减小发布版本的Java字节码大小
*/
def enableProguardInReleaseBuilds = true
第三步:
找到路径/android/app/src/main,并在该目录下新建assets文件夹
然后在工程目录下将index.android.bundle下载并保存到assets资源文件夹中,执行的命名:
curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle
curl官网下载,下载好直接解压,然后直接将curl.exe复制粘贴到项目的根目录下即可,配置好这一步,就可以真正进入打包了。
第四步:真正打包
在cmd控制台切换到项目的/android/目录中执行gradle assembleRelease命令,打包后的文件在android/app/build/outputs/apk目录中,例如app-release.apk。如果打包碰到问题可以先执行 gradle clean 清理一下。
到此就ok了
- react-native工程 打包
- React-Native离线打包
- React native 打包发布
- React-Native打包发布
- react native iOS打包
- React Native打包
- React Native之打包
- React-Native 打包发布
- React Native打包
- React Native 打包发布
- React Native打包APK
- React Native Android打包
- Reactive-Native学习:iOS工程内嵌React-Native打包(三)
- React Native打包成APK
- 【React Native】iOS离线打包
- react native ios打包到真机
- react native ios打包到真机
- react-native android打包发布
- 如何获得select被选中option的value和text
- <高性能javascript>阅读笔记一 ---关于脚本放的位置以及加载方式
- VS 进行调试时,打不开*.exe 可能的原因
- 打开设置网络界面
- 单例模式(懒汉模式、饿汉模式)
- react-native工程 打包
- 《Flex+PHP RIA应用开发实战详解-梁文新版》学习日记1
- iOS 最新提示Unable to add App ID because the '10' App ID limit in '7' days has been exceeded.
- 用Smack开发Android即时通讯
- php 缓存思维01
- 一个最不可思议的 MySQL 死锁分析
- Magento 1.8 Development CookBook 目录
- xcode 证书路径
- JavaScript中的对象浅析