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 ...
随机推荐
- 利用.net4.0的dynamic特性制造的超级简单的微信SDK
1.基础支持API /*-------------------------------------------------------------------------- * BasicAPI.cs ...
- 无法启动此程序,因为计算机中丢失 MSVCP120.dll。尝试安装该程序以解决此问题
重装了下系统(Windows 7),发现先前装的一些软件大部分不能正确启动,更为奇怪的是,即使我重装了该软件,打开的软件界面的时候,报如下错误:“无法启动此程序,因为计算机中丢失 MSVCP120.d ...
- Word插入页码简单方法
适用于只有一个首页,若是从某一页,需要分节符,从某一页参考Word2007插入两种页码. 插入-页码-页面低端-弹到设计窗口.然后选择页码-设置页码格式-起始页码0-勾选首页不同.
- Delphi7 实现窗体全屏方法
设置要全屏的窗体的ALign 属性为ALcLient ,此法最快.当然对我来说,我并不知道这个,所以走了远路,等后来在实现窗体禁止移动的时候才想到了这里,汗.注意:这种全屏方式不会挡了系统的任务栏.. ...
- 教育 z
奥巴马母亲留给儿子的遗产,不是谎言,而是让反对派不敢戮辨的——伟大的人格及优秀! 相比于奥巴马的母亲,中国式父母,更愿意走省心的路子.给孩子最催肥的食物,最昂贵的衣物,最庸懒的生活环境,不让孩子做任何 ...
- WinForm-SQL查询避免UI卡死
使用委托,呵呵. Func<List<VM>> act = () => { SqlDataReader reader = DBHelper.ExecuteReader(s ...
- 项目笔记:导出Excel功能设置导出数据样式
/** * 导出-新导出 * * @return * @throws IOException */ @OperateLogAnn(type = OperateEnum.EXPORT, hibInter ...
- 15个最受欢迎的Python开源框架(转载)
一.Django: Python Web应用开发框架 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理 ...
- java学习之输入,输出流
输入流与输出流 1,流的分类:字节流和字符流 区别如下: 1,字节流(8位Unicode)在操作的时候本身是不会用到缓冲区(内存)的byte,是与文件本身直接操作的,而字符流(16位Unicode)在 ...
- smarty在循环的时候计数来显示这是第几次循环的功能
想必有很多人比较喜欢这个smarty循环的时候有个变量增加的功能或比较需要这个功能吧?其实不需要额外的变量,当然你也许根本用不了.我们用smarty内置的就可以了.就是smarty有foreach和s ...