1 React Native安卓项目打包APK

1.1 产生签名的key

先通过keytool生成key

1
keytool -genkey -v -keystore demo-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 20000

将生成的key启动到项目android/app目录下面

1
mv demo-release-key.keystore android/app/

1.2 修改android/gradle.properties文件,增加如下

1
2
3
4
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=******
MYAPP_RELEASE_KEY_PASSWORD=******

其中**为Key设置的密钥和存储密码

1.3 修改android/app/build.gradle文件中的签名配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
大专栏  React Native Build Apkline">15
16
17
18
19
20
21
...
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
}
}
}

1.4 然后进入android目录执行如下

1
./gradlew assembleRelease

结束后会生成apk文件在项目相关路径下面

1
android/app/build/outputs/apk/app-release.apk

每次执行前,注意将该apk文件删除

提示:如果你需要对apk进行混淆打包 编辑android/app/build.gradle:

1
2
3
4
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = true

最新文章

  1. canvas三角函数做椭圆运动效果
  2. ACM: 强化训练-海贼王之伟大航路-dfs-枝减
  3. Android之ImageView 设置宽高
  4. Restful是什么,SOAP Webservice和RESTful Webservice
  5. ARM异常中断处理
  6. [HDU 1806] Frequent values
  7. Tag标签系统设计
  8. 1.JSP入门
  9. js面向对象知识点之对象属性 创建对象 总结中
  10. echarts实现中国地图数据展示
  11. 洛谷 P1226 【模板】快速幂||取余运算
  12. mysql 数据备份和还原
  13. linux下pppoe连接管理
  14. sass重构响应式unofficial‘s博客轻松适应移动端
  15. 关于Linux一些问题和答案
  16. 阿里巴巴数据库连接池 druid配置详解
  17. ajax POST跨域请求完美解决
  18. POJ1966 Cable TV Network
  19. android通过 Intent 传递类对象
  20. SQL中利用ROW_NUMBER()进行分页查询

热门文章

  1. 图之强连通--Tarjan算法
  2. windows Apache 配置支持HTTPS的SSL证书
  3. C# 扩张方法的语法
  4. SpringMVC访问出错No converter found for return value of type
  5. 一篇文章带你了解axios网络交互-Vue
  6. ubuntu或者raspbian清理软件使用痕迹
  7. Sqlite教程(3) SQlite Query
  8. 卸载python3
  9. 在VMware装了linux系统,如何在windows系统中用xshell连接
  10. class.forName() 和 classLoader 的区别