Mac 下 ReactNative如何打包构建Android apk 的应用。该文章还差一个 打包发布到各个平台的教程

总结

打包 jsbundle代码

生成签名

添加签名到app中

打包成apk(打包前也可以先运行安装在手机上测试)

把JS代码,打包成 index.android.jsbundle

react-native bundle --entry-file demo/index.js --bundle-output ./android/app/src/main/assets/index.android.jsbundle --platform android --assets-dest ./android/app/src/main/res/ --dev false

打包APK

一、操作步骤:

1. 生成签名

生成一个有效期10000天的证书,证书为: my-release-key.keystore

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

不要把证书提交到版本控制系统

Note: Remember to keep your keystore file private and never commit it to version control.

2. 配置打包时的签名

把 证书复制到 android/app 目录下

Edit the file ~/.gradle/gradle.properties and add the following (replace ***** with the correct keystore password, alias and key password)

在 gradle.properties 里面添加以下配置

gradle.properties 文件是在 android的根目录下。 官网上的文件位置是错误的。(或者说,我理解错误)

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

MYAPP_RELEASE_STORE_PASSWORD=*****

MYAPP_RELEASE_KEY_PASSWORD=*****

These are going to be global gradle variables, which we can later use in our gradle config to sign our app.

3. 添加签名

Adding signing config to your app's gradle config

Edit the file android/app/build.gradle in your project folder and add the signing config,

修改 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

}

}

}

...

4. 减小打包apk的大小

Enabling Proguard to reduce the size of the APK (optional)

Proguard is a tool that can slightly reduce the size of the APK. It does this by stripping parts of the React Native Java bytecode (and its dependencies) that your app is not using.

IMPORTANT: Make sure to thoroughly test your app if you've enabled Proguard. Proguard often requires configuration specific to each native library you're using. See app/proguard-rules.pro.

修改文件:android/app/build.gradle

To enable Proguard, edit android/app/build.gradle:

/**

* Run Proguard to shrink the Java bytecode in release builds.

*/

def enableProguardInReleaseBuilds = true

5. 发布前测试应用是否有问题

react-native run-android --variant=release

5. 生成apk

生成的apk文件在, android/app/build/outputs/apk/ 下

cd android && ./gradlew assembleRelease

6. apk文件位置

android/app/build/outputs/apk

7. 安装apk文件

adb install app-release.apk

app-release 是发布版的apk文件。

mac下反编译android apk

所需要的工具 http://pan.baidu.com/disk/home#path=%252Fandroid%252Fdecompile%252Fapktool-all apktool用于将资源文件 ...

Mac 下反编译Android APK

准备工作:安装ApkTool.dex2jar.JD-GUI 安装ApkTool 1.下载ApkTool.大家可以从 https://ibotpeaches.github.io/Apktool/inst ...

mac下识别国产android手机

mac下识别国产android手机困扰了我很久,这几天总算在google帮助下找到了解决方法. 在~/.android/下找到adb_usb.ini,如果不存在则创建.通过“系统信息”查看到插入的an ...

cocos2d jsb 打包 Android APK

1.首先要会普通的cpp 打包成Android APK 下面所说的是在cocos2d-x 2.2.2 或者 2.3 版本号中.本文在Eclipse总用ndk编译cocos2d-x. 老生常谈cocos ...

『原』在Linux下反编译Android .apk文件 使用apktool dex2jar JD-eclipse

一.使用apktool 将 apk反编译生成程序的源代码和图片.XML配置.语言资源等文件 具体步骤: (1)下载反编译工具包:apktool 官方的打不开 http://apktool.shouji ...

FFmpeg: mac下手动编译android上使用的FFmpeg(支持x86、armeabi-v7a、arm64-v8a)

之前一直在linux下编译FFmpeg,最近换电脑了,尝试了下在mac下编译ffmpeg,特记录之. 一. 准备工作 1. 下载FFmpeg.(http://ffmpeg.org/download.h ...

mac使用apktool打包回apk

升级最新版的apktool 下载目录:https://ibotpeaches.github.io/Apktool/install/. 权限修改 将上述的文件放在usr/local/bin目录下并执行 ...

(转)利用ant在Mac 下自动化打包签名Android程序

1.创建一个android项目 参数说明:-k /--package 为命名空间(包名)-a /--name 工程名-p /--path 项目 -t 为目标平台的版本编号 命令:./android c ...

Mac上反编译Android apk安装包

什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...

随机推荐

解决文件上传插件Uploadify在火狐浏览器下,Session丢失的问题

因为在火狐浏览器下Flash发送的请求不会带有cookie,所以导致后台的session失效. 解决的方法就是手动传递SessionID到后台. $("#fileresultfiles&qu ...

U制作LFS linux

我希望自己的LFS运行在U盘上,远期目标是要制作一个基于LFS的编程练习U盘,方便自己的编程练习.今天算是工作的第一步,先把LFS做到U盘上. 把Linux做到U盘上通常的做法是采用两步启动法:先生成 ...

iOS控件——UIView的viewWithTag:(int)findTag方法描述

UIView拥有一个viewWithTag:(int)findTag方法,调用方式为[MyView viewWithTag:整形数字]该方法返回tag == findTag的控件.ios控件中允许多个 ...

em(倍)与px的区别(转载)

在国内网站中,包括三大门户,以及"引领"中国网站设计潮流的蓝色理想,ChinaUI等都是使用了px作为字体单位.只有百度好歹做了个可调的表率.而 在大洋彼岸,几乎所有的主流站点都使 ...

【Django】url传递参数

1.  url传递参数的特殊字符 在压缩后,可能出现  +  -  = 空格  这类特殊字符,需要在传递前进行url编码  urllib.enquote(string) 获取参数后 urllib.un ...

MySQL 5.7 InnoDB缓冲池NUMA功能支持——但是别高兴的太早

当前CPU都已是NUMA架构,相信除了历史遗留系统,很少会有数据库跑在SMP的CPU上了.NUMA架构带来的优势无言而语,CPU更快的内存访问速度,但是带来的问题也不言而喻,特别是对于数据库的影响.M ...

京东消息中间件JMQ

http://blog.csdn.net/javahongxi/article/details/54411464 [京东技术]京东的MQ经历了JQ->AMQ->JMQ的发展,其中JQ的基于 ...

C# 创建Datatable 并插入数据

DataTable dt_temp = new DataTable(); dt_temp.Columns.Add("id"); dt_temp.Columns.Add(" ...

01-使用eclipse新建一个标准的 java web项目

1.使用eclipse创建个普通的Java SE项目  名称:CRM java web标准目录结构 crm WEB-INF classes lib web.xml 设置项目字节码输出目录

Mac打包Android的apk,【ReactNative】Mac下分分钟打包 Android apk相关推荐

  1. 最新《Android车载系统应用开发指南 》,Android工程师的新赛道

    2019年,中国首个外商独资的整车制造项目,"上海特斯拉超级工厂"开工了.作为世界上最大汽车生产和销售国,特斯拉的热销立马就引发了一场鲶鱼效应,国内外的汽车制造商纷纷开始布局智能化 ...

  2. ionic2 mac android,Ionic制作Hybrid App系列二:Mac环境下Ionic release版本APK的签名与发布...

    Android应用程序签名 在前一章节里面,通过ionic run使app成功在手机上面跑起来,并且将android-debug.apk放到手机上后发现也能正常的安装,debug版本和release版 ...

  3. cordova 更改app版本_Cordova打包Android应用流程(MAC)

    扩展阅读 基于Cordova批量打场景包(MAC) APP包名称命名规则 1. 安装cordova打包应用 `brew install cordova` 2. 创建cordova项目 执行命令 `cr ...

  4. android微信调试网页,Mac OS X EI Capitan 下调试 Android 微信内嵌网页

    做微信开发的朋友一定遇到过这样的问题,在电脑上测试正常的网页到微信里面就出错了,不知道原因只能使用排除法一点点的排除,因为微信客户端无法输出浏览器中抛出的异常信息,对我们开发带来了很大的问题. 在网络 ...

  5. ReactNative windows下打包生成安卓apk

    create-react-native-app 运行npm run eject后根目录会产生一个andriod目录和ios目录.里面就是运行打包的配置文件. 如果你是用react-native-cli ...

  6. Mac下Qt for android 环境配置

    Mac下Qt for android 环境配置 文章目录 Mac下Qt for android 环境配置 1. 需要准备工具 2. 下载时版本搭配解释 3. 下载工具过程 4. 环境变量设置 5.qt ...

  7. android 横向照片流,MAC下将Android照片与iCloud照片流同步的方法

    一些用户虽然已经使用MAC电脑,不过他们的手机却仍是使用的Android手机,这样使得他们在将Android手机与MAC连接时,总会出现一些麻烦.今天小编要教大家的是,如何将Android图片同步进i ...

  8. Android studio3.0开启抓包功能打包会使apk体积增大好几倍

    Android studio3.0开启抓包功能打包会使apk体积增大好几倍 Android studio3.0开启抓包功能打包会使apk体积增大好几倍: 今天尝试了下AS3.0抓包功能,还没怎么整明白 ...

  9. 用Gradle打包出jar文件 前面我们说过,在Android Studio里面使用Gradle来打包应用程序,一般都是build出来一个apk文件。但是有的同学是做实现层的开发,不直接做View层

    用Gradle打包出jar文件 前面我们说过,在Android Studio里面使用Gradle来打包应用程序,一般都是build出来一个apk文件.但是有的同学是做实现层的开发,不直接做View层的 ...

最新文章

  1. 编译安装rabbitmq服务端
  2. wifi拥挤时防掉线小技巧
  3. 荐书 | 攻克世纪难题,拒绝领取菲尔兹奖的孤独数学天才的一生
  4. 《代码整洁之道 Clean Architecture》-读书笔记
  5. UIActivityIndicatorView、UIProgressView 活动与进度指示器 (实例)
  6. Spring Cloud Stream与RabbitMQ 死信队列
  7. 【优化算法】混沌博弈优化算法(CGO)【含Matlab源码 1803期】
  8. 信用体系,生态之魂!——保险科技生态建设
  9. winrar“秒破”尝试与原理简介
  10. 百度地图自定义大头针图片和添加标注
  11. Rancher+k3s+阿里云流水线详细配置教程
  12. 语音识别(20201030)——麦克风阵列(采集语音信号)
  13. 呵呵,海阔天空QQ群里的歪诗
  14. vue构建pc端项目(ElementUI)、vue入门小应用
  15. WLT8016:BLE蓝牙的一些基本概念
  16. 旅游流的概念_旅游流的概念界定与理论内涵新论
  17. tcp/ip 端口号有哪些
  18. Android Google AdMob 广告接入配置示例
  19. 北山白云里,隐者自怡悦。
  20. windows7旗舰版主蓝色海洋 Windows7主题蓝色大海

热门文章

  1. Oracle数据库性能优化杂谈
  2. Twitter有键盘快捷键,您应该使用它们
  3. 计算机思维试题简答题,六年级数学思维练习题及答案
  4. 回忆——电脑陪伴走过的路
  5. lol游戏挂机软件_LOL手游热度断崖式下跌!情怀终究败给了习惯
  6. 【运维面试】一个电商项目需要了解哪些知识点?
  7. R中package not avalible问题
  8. python人工智能项目实例-python人工智能项目实战,PDF+源码
  9. AR/VR中使用Overlay提升清晰度
  10. oppo便签误删怎么办_OPPO手机便签删除了怎么恢复