Ionic项目打包安卓APK
之前用Ionic+Angular做了几个小应用Demo,现在用其中一个做实验试下打包安卓的APK安装包。(备注:我用的应用demo是之前博客里写的汇率的Demo,不清楚的同学可以查哈~)
我是用ionic start创建的项目,在我的platforms里默认的只有IOS的平台,所以我要先安装上Android平台。
打开终端,进入到项目文件夹内,执行命令:$ ionic platform add android,之后等待添加完成。
第一步:先创建应用图标和启动图片
应用图标最少要1024px*1024px大小,启动图标最少要2208px*2208px,都要png-8格式的就可以了。做好图片后,我们把图标命名为icon.png,启动图片命名为splash.png,把这两张图片放到项目resources文件夹目录下,然后在android和ios文件夹目录下也各放一份,之后在终端执行命令:$ ionic resources,然后就会生成不同尺寸的图片。
(注:ionic resources命令默认会将图标和启动图片都生成不同尺寸的图片,如果像分别生成,可以执行ionic resources icon生成图标,执行ionic resources --splash生成启动图片)
第二步:优化项目文件
应用体积越小越好,所以我需要把项目里非必要的文件都清除掉。
① 移除Cordova Console插件
运行命令查看cordova插件列表:$ cordova plugin list
看到我们需要删除的插件:

运行删除插件的命令:$ cordova plugin rm cordova-plugin-console
执行成功:

② 移除所有不需要的文件
③ 移除库中不使用的文件
④ 压缩代码
⑤ 压缩图片
第三步 安装JDK 配置JAVA环境
下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

下载文件后,双击安装:

安装完成后点击关闭:

在终端运行命令:$ java -version,检测是否成功:

还可以在命令提示符中输入“javac”,能够出现用法提示,证明安装成功。
第四步 安装Android SDK Tools
需要下载两个工具:sdk tools和更新完的sdk的adt版本
sdk tools下载地址:http://www.androiddevtools.cn/

解压后命令行进入tools目录:$ cd android-sdk-macosx/tools/
输入命令:$ ./android sdk,然后我们会看到Android SDK Manager图形界面
从菜单栏Android SDK Manager 进入Preferences,进行如下配置:

然后从菜单Tools进入Manage Add-on Site:

然后把下面的网址手动new进去:
http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml
http://mirrors.neusoft.edu.cn/android/repository/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-wear/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/google_apis/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/x86/addon-x86.xml
http://mirrors.neusoft.edu.cn/android/repository/addons_list-2.xml
http://mirrors.neusoft.edu.cn/android/repository/repository-10.xml
然后建议勾选下面打框的选项,之后进行安装就可以啦(Android版本我随便选了几个,不用选太低的版本):

然后设置Android环境变量:
打开终端,进入android sdk安装目录:
输入命令:$ touch .bash_profile
输入命令:open -e .bash_profile
打开.bash_profile添加路径(我的路径哈):
export ANDROID_HOME=/Users/jiangwei/Desktop/android-sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
保存文件并关闭
然后输入命令:$ source .bash_profile
在终端输入命令 adb点回车,如果未显示command not found,说明此命令有效,环境变量设置完成。
第五步 配置应用签名
回到应用项目目录下:
运行命令:$ keytool -genkey -v -keystore know_your_brew.keystore -alias know_your_brew -keyalg RSA -keysize 2048 -validity 10000
注意:使用你应用的名字来替代know_your_brew,这个命令会生成一个新的文件,在本示例中为know_your_brew.keystore。
第六步 使用Cordova编译应用文件
使用build命令编译一个应用的发布版本:
终端进入到项目目录下,执行命令:$ cordova build --release android
该命令会生成一个新的APK文件,命令会返回编译后的APK文件的绝对地址,如下图所示:

第七步 签名应用文件
现在我们来使用之前创建的keystore文件来签名已生成的未签名版本的应用。
(我们先把已经生成的apk文件移到项目根目录下,不然可能会报错"无法打开 jar 文件: android-release-unsigned.apk")
终端执行命令:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore exr.keystore android-release-unsigned.apk exr
过程会需要一点时间,期间会提示输入keystore的密码密钥,命令会修改apk文件并对其进行签名。
可以使用命令$ jarsigner -verify -verbose -certs apk文件名,来验证应用是否签名成功。
第八步 优化APK文件
优化APK文件,使其减少在设备上占用的空间和内存。我们使用zipalign工具,它使用签名后的APK文件生成一个优化后的APK版本,用于应用上传。
在android-sdk目录里,我搜到zipalign的命令的地址是:./build-tools/25.0.2下面,从终端进入android-sdk目录下,执行命令:
$ open -e .bash_profile
打开.bash_profile文件,添加zipalign环境变量:export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools/25.0.2
保存关闭文件
执行命令:$ source .bash_profile
然后返回到应用项目文件夹目录下,执行命令:
$ zipalign -v 4 android-release-unsigned.apk MyExrApp.apk
完成后会返回
至此,android APK文件已经生成并完成签名和优化,可以将它发到手机上就可以下载安装了,如果想要将它发布到应用商店,那就需要去应用商店注册开发者账户,将其提交到Android应用商店中。
Ionic项目打包安卓APK的更多相关文章
- 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录
前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...
- IONIC 打包安卓apk详细过程
参照以下链接: https://blog.csdn.net/qq_20264891/article/details/79319408 当 cordova 项目安装的 android 平台版本 与 系统 ...
- SDK,JDk,Unity打包安卓apk
SDK:软件开发工具包(缩写:SDK.外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件时的开发工具的集合. ...
- UNITY 打包安卓APK
1,安装JDK.这个直接下就行了. 2,安装android sdk相关.这个比较蛋疼,官网是被墙的.有些网站的包还是需要访问墙外下载的.关键是找对那个能用的包(对我来说就是不FQ). http://p ...
- Android Studio将项目打包成apk
Android Studio将项目打包成apk 第一种方法:适合自己调试用. (1)直接在项目中生成: (2)位置是在你的项目中 第二种方法:适合发布应用. (1)找到Generate Signed ...
- IONIC3 打包安卓apk详细过程(大量图文)
经历三天的踩坑,跳坑,相信绝大多数的问题都已经覆盖到了,请仔细按照流程来对照操作及检查. 1.基本依赖环境 nodejs环境 (作为一个前端相信你已经有了) 最好提前配置好node的环境变量,便于全 ...
- Android项目打包成APK文件
第一步:右键单击该项目选择Export项目 显演示样例如以下界面:选择Exprot Android Application 第二步:输入项目名称,默认的情况下是原始的项目名称 下一步: 点击 Crea ...
- 最全的命令行(gradle)打包安卓apk
最近研究安卓方面的打包,因为是React Native,不能使用Android studio打包.找了半天资料,发现没有一个全面的.下面,我来讲解自己下打包时自己遇到的各种坑. 1.首先,需要在项目顶 ...
- ionic项目打包+部署
环境: 1.ionic 2.angular-cli 开发 1.CTRL C + CTRL V 2.图片路径的问题 使用‘assets/xxxxx.jpg’,而不使用‘../../assets/xxx ...
随机推荐
- HTML表格基础详解
在现在 div 大行其道的时代,table 这个标签似乎很少被人提及,到处都是 div+css 布局的书以及博客文章,但其实 table 以及连带的其他表格标签依然在网页中占很重要的地位,特别是后台展 ...
- [COCI2015]TRAKTOR
题目大意: 一个$X\times Y(X,Y\leq10^5)$的格子中,每秒钟依次$n(n\leq10^6)$个蘑菇, 告诉你每个蘑菇出现的时间和位置,问何时第一次出现$k(2\leq k\leq ...
- Markdown中超链接增加_blank的方法
很遗憾,无法在语法上实现,只能通过额外的的JS代码实现,比如: var links = document.links; for (var i = 0; i < links.length; i++ ...
- [置顶]
kubernetes资源类型--deployment
Deployment(中文意思为部署.调度)提供了一种更加简单的更新RC和Pod的机制,K8S版本1.2实现的.通过在Deployment中描述所期望的集群状态,Deployment Controll ...
- DELLR720服务器更换硬盘,启动系统报错:there are offline or missing virtual drivers with preserved cache
linux系统启动过程中给出错误: There are offline or missing virtual drives with preserved cache. Please check the ...
- python xml与字典的相互转换
def trans_xml_to_dict(xml): """ 将微信支付交互返回的 XML 格式数据转化为 Python Dict 对象 :param xml: 原始 ...
- Node.js静态页面展示例子2
例程下载:https://files.cnblogs.com/files/xiandedanteng/nodejsStaticHtmlSample.rar 页面效果: Html页面代码(注意用文本编辑 ...
- POJ 1144 Network(无向图连通分量求割点)
题目地址:id=1144">POJ 1144 求割点.推断一个点是否是割点有两种推断情况: 假设u为割点,当且仅当满足以下的1条 1.假设u为树根,那么u必须有多于1棵子树 2.假设u ...
- PS 文字有锯齿怎么办
1 可以在矢量绘图软件里面做,就没有锯齿了,画好之后导入到PS即可. 2 可以把PSD文件的像素值变大一些,比如调成500像素/英寸,但是这样会导致做出来的东西体积比较大,所以最好还是学会矢量绘图.
- OpenCV入门笔记(三) 图片处理
OpenCV中提供了非常多处理图片的强大函数,能够对非常多格式的图片 加特效.有点实现Photoshop里的工具的感觉. 以下先介绍一些简单和常见的特效. 二值化(Image Threshold) 參 ...