windows下react-native android打包笔记
看了东方耀老师的视频,跟着记下了以下笔记,其实和东方耀老师的课堂笔记差不多,增加了一点细节
1. 生成一个签名密钥:
在项目目录下运行
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
注:my-release-key是文件名,my-key-alias是别名。
最后会生成一个my-release-key.keystore的密钥库文件。
2. 找到路径/android/app/src/main,并在该目录下新建assets文件夹(这个文件夹名字是固定的不能改,别问为啥,龟腚)
3. 在工程目录下执行以下命令,目的是将 index.android.bundle下载并保存到assets资源文件夹中
curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle
提示curl命令不是内部*****? 答案在: http://www.cnblogs.com/xing901022/p/4652624.html
4. 添加gradle的android keystore配置(打包的apk在未签名的情况下,在手机中(非root)是不允许安装的)
在android/app/build.gradle文件中添加以下代码
signingConfigs { //一般加在defaultConfig后面
release {
storeFile file("/my-release-key.keystore的路径")
storePassword "密码"
keyAlias "密钥别名"
keyPassword "密码"
}
}
//注:
//a. storeFile file("D://project/React-Native-Project/TextProject/my-release-key.keystore") 里的路径可以是绝对路径,正斜杠,就像我写的这样
//b. keyAlias 别名
然后修改以下代码
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
signingConfig signingConfigs.release //添加这句话引用签名配置
}
}
5. 启用Proguard代码混淆来缩小APK文件的大小(保护源代码,缩小APK包)
Proguard是一个Java字节码混淆压缩工具,它可以移除掉React Native Java (和它的依赖库中)中没有被使用到的部分,最终有效的减少APK的大小。
重要:每次启用Proguard之后,必须再次全面地测试你的应用。Proguard有时候需要为你引入的每个原生库做一些额外的配置。参见app/proguard-rules.pro文件。
在android/app/build.gradle文件中(第4步的文件),找到enableProguardInReleaseBuilds然后修改def enableProguardInReleaseBuilds = true
6. 在/android/目录中执行gradle assembleRelease命令,打包后的文件在android/app/build/outputs/apk目录中,例如app-release.apk。
如果打包碰到问题可以先执行grandle clean 清理一下。
安装grandle工具(版本与android\grandle\wrapper下的一致),并配置环境变量:添加环境变量GRADLE_HOME,值是grandle的根目录;然后把%GRADLE_HOME%/bin加到Path环境变量。
配置完成后运行 gradle -v 检查是否安装成功
7. BUILD SUCCESSFUL 发布apk到应用市场
东方耀视频360网盘地址 密码:05a4
更多视频查看 点我
windows下react-native android打包笔记的更多相关文章
- Windows 10 & React Native & Android
Windows 10 & React Native & Android https://facebook.github.io/react-native/docs/getting-sta ...
- React Native Android打包apk
按照官方的5步曲: 1.在终端里面,cd 到项目的根目录后.执行下面这行命令: keytool -genkey -v -keystore my-release-key.keystore -alias ...
- Windows下React Native开发01 -- Android开发环境搭建
1.安装jdk 推荐将JDK的bin目录加入系统PATH环境变量(自己百度下怎么配置). 2.安装SDK 直接安装 Android Studio 推荐从AndroidDevTools下载.(也可以直 ...
- react-native —— 在Windows下搭建React Native Android开发环境
在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...
- React Native Android 环境搭建
因为工作需要,最近正在学习React Native Android.温故而知新,把学习的内容记录下来巩固一下知识,也给有需要的人一些帮助. 需要说明的是,我刚接触React Native也不久,对它的 ...
- React native android 最常见的10个问题
这里逐条记录下最容易遇到的React native android 相关case: 1. app启动后,红色界面,unable load jsbundle : 解决办法:一般来说就是,你是用dev-s ...
- react-native —— 在Mac上配置React Native Android开发环境排坑总结
配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...
- React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块
尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...
- React Native & Android & iOS & APK
React Native & Android & iOS & APK https://play.google.com/apps/publish/signup/ $ 25 bui ...
- React Native & Android & iOS
React Native & Android & iOS React Native & Android & iOS https://facebook.github.io ...
随机推荐
- 关于vue.js中class与style绑定的学习
练习代码: html: <!DOCTYPE html><html lang="en"><head> <meta charset=" ...
- java POI 解析excel 2003和2007 直接转为List<Map> 返回
1.POI 官网下载jar包,3.5以上 2.项目导入jar包 3.参数:String数组--对应的excel列名对应的KEY,File excel文件,sheetNumber ---excel的s ...
- 微信收藏导出到PC端的方法,不要再傻傻的用网页版转换了!
微信里面收藏了很多有意思的东西,想转到PC上保存起来,以防万一哪天链接失效了. 另外PC上面看,屏幕大一些,也爽一些. 以前的方法是需要通过网页版来传输一下,现在微信有了PC客户端,很方便,直接安装P ...
- Ext.Net 学习随笔 003 Panel基本使用
Panel() 1.使用Content和Html属性设置Panel内容 前台View代码 @(X.Panel() .ID("panel1") .Width() .Height() ...
- 如何将自己的windows设置为mysql服务器
1.安装mysql 服务器 2.创建超级用户,即 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; ...
- Definition of success-成功的定义
"My definition of success is doing what you love. I fell many people do things because they fee ...
- Python的标准输出
遇到什么就添加到这里来. 首先,是最基本的. print "Number is %d %f %s"%(intA,floatB,stringC) 如果对浮点数的精度有所要求的话,比如 ...
- python socket
#!/usr/bin/env python import sys import time import socket s = socket.fromfd(sys.stdin.fileno(),sock ...
- 改进:js修改iOS微信浏览器的title
问题简介 前端入门没多久,可能连入门也不算,最近网上流行各自书籍改名,什么<前端开发,从入门到放弃>,<Android开发,从入门到改行>之类的,程序员真是个爱自嘲的群体,但我 ...
- oracle数据库从入门到精通
oracle产品线围绕企业开发平台的企业开发平台四大组件:unix,weblogic中间件,java编程语言,oracle数据库oracle 开发主要分两类数据库管理:dba数据库编程:分两部分 ...