1、生成一个签名密钥

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

生成一个my-release-key.keystore的密钥库文件

2、找到路径/android/app/src/main,并在该目录下新建assets文件夹

3、在工程目录下将index.android.bundle 下载并保存到assets资源文件夹中

  1. curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle

P.S.1:如果无assets文件夹,执行上述命令,则打包的akp在执行时显示空白。

P.S.2:curl需安装后才能使用,具体参考:http://jingyan.baidu.com/article/a681b0dec4c67a3b1943467c.html

4、添加gradle的android keystore 配置

在build.gradle文件中,

  1. //签名
  2. signingConfigs{
  3. release {
  4. storeFile file("/my-release-key.keystore")
  5. storePassword "密码"
  6. keyAlias "keyAlias的名字"
  7. keyPassword "密码"
  8. }
  9. }
  10.  
  11. buildTypes{
  12. release{
  13. minifyEnabled false
  14. proguardFiles getDefaultProguardFile('produard-android.txt'), 'proguard-rules.pro'
  15. signingConfig signingConfigs.release//添加这句话引用上面的签名配置
  16. }
  17. }

5、启用proguard代码混淆来缩小APK文件的大小

还是在上述build.gradle文件中,

找到:

  1. def enableProguardInReleaseBuilds = true

并修改为true

6、在/android/目录中执行gradle assembleRelease命令,打包后的文件在android/app/build/outputs/apk目录中,例如app.apk。如果打包碰到问题可以先执行gradle clean清理一下。

安装gradle工具(版本与android\gradle\wrapper下的一致),并配置环境变量,配置GRADLE_HOME到gradle根目录当中,然后把%GRADLE_HOME%/bin加到PATH环境变量。

P.S.3:配置完成后,运行gradle -v,检查一下是否安装无误。

7、发布到各大应用市场

ReactNative——打包发布的更多相关文章

  1. 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  2. React-Native之打包发布(Android)

    React-Native之打包发布(Android) 一,介绍与需求 移动端打包发布到应用市场 二,发布配置 注意:以下所有操作都在win10下进行,React Native版本0.59.5,andr ...

  3. react-native 打包apk 更新js和常见问题

    1.打包发布 a.在工程根目录执行如下命令 打包js资源文件 react-native bundle --platform android --dev false --entry-file index ...

  4. 服务器(Liunx)打包发布java web工程

    Liunx服务器上打包发布web工程(开发工具Idea) 1.首先使用Idea自带的打包功能(点击package打包) 2.然后链接到服务器(我这里用的是Xshell链接工具) 3.将打好的war包传 ...

  5. Unity3D引用dll打包发布的问题及解决

    今年我们开始使用Unity3D开发MMORPG,脚本语言使用C#,这样我们就可以使用以往积累的许多类库.但是,在U3D中使用.NET dll的过程并不是那么顺利,比如我们今天遇到的这种问题. 一.问题 ...

  6. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  7. Winform打包发布图解

    最近,机房收费系统的个人版接近尾声,到了打包发布的时刻.VB.NET的打包发布与VB6.0的打包发布存在不小的差别.下面我们来详细看一下如果打包发布. 第一步: 打开VS,新建项目,选择其他项目类型- ...

  8. QT5.4 计算器程序 打包&发布,解决dll的最新解决方案

    QT写界面还是很不错,就是打包会比较麻烦,折腾了一天总算是打包完成了. QT软件的打包发布一个难点是必备dll文件的识别,现在高版本QT自带了一个windeployqt工具,直接会把需要的dll生成一 ...

  9. Java学习之道:Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

随机推荐

  1. Modern OpenGL用Shader拾取VBO内单一图元的思路和实现

    Modern OpenGL用Shader拾取VBO内单一图元的思路和实现 什么意思? 拾取 最简单的理解拾取的方式大概是到(http://www.yakergong.net/nehe/course/t ...

  2. 更新Literacy

    之前都没有做单元测试的啊 昨天离职了,闲着没事做了个单元测试,结果发现一堆问题....大部分都是关于值类型在IL中的操作问题... 这件事让我感觉蛋蛋隐隐发疼....以后一定要做单元测试啊.... 具 ...

  3. 混合 Data Warehouse 和 Big Data 倉庫的新架構

    (讀書筆記)許多公司,儘管想導入 Big Data,仍必須繼續用 Data Warehouse 來管理結構化的營運數據.系統記錄.而 Big Data 的出現,為 Data Warehouse 提供了 ...

  4. MySQL GROUP BY用法

    背景介绍 最近在设计数据库的时候因为开始考虑不周,所以产生了大量的重复数据.现在需要把这些重复的数据删除掉,使用到的语句就是Group By来完成.为了进一步了解这条语句的作用,我打算先从简单入手. ...

  5. Hibernate增删查改语句

    我用的数据库是MySQL,实体类叫Product create table Product ( proId integer not null auto_increment, proName varch ...

  6. iOS开发-闪退问题-解决之前上架的 App 在 iOS 9 会闪退问题

    最新更新:(2015.10.02) 开发环境: Delphi 10 Seattle OS X El Capitan v10.11 需使用下列 HotfixID: 30398, PAServer Hot ...

  7. iOS-Swift编程

    概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...

  8. 【夔堂】:程序血泪史之——有一种垃圾语言叫做JavaScript

    "Prototype"机制是个半成品OOP,有些文章说这玩意当初为了"简单(编写).容易(学习)"而发明的,但web前端技术发展到今天我们看到,JS显然是需要O ...

  9. Leetcode-463 Island Perimeter

    #463. Island Perimeter You are given a map in form of a two-dimensional integer grid where 1 represe ...

  10. SSISDB6:Operation

    SSISDB使用Operation表示对SSIS Project所做的任何操作,在执行一次Operation时,SSISDB会记录Operation的Message,当触发Event时,会记录Even ...