ionic android 手工打包指令手册

【工作平台要求】

安装 node.js、cordova、ionic(非必须) 等前端相关软件与组件
(1)安装 Java-SDK,正确配置系统环境变量 JAVA_HOME、CLASSPATH、加入 PATH
node.js、JDK 安装路径不能要有空格和中文!!!
推荐安装路径:
C:\nodejs\
C:\Java\jdk1.8.0_112(注意不要升级java,对应就是这个版本,不然其他的也要升级)
系统环境变量:
JAVA_HOME=C:\Java\jdk1.8.0_112
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
加入 PATH:
%JAVA_HOME%\bin;C:\nodejs\;

(2)安装 Android-SDK,正确配置系统环境变量 ANDROID_HOME、加入 PATH
全部路径中不要有空格和中文!!!例如,主目录是:D:\Android
因为 Windows 系统对文件路径有 255 个字符的限定,
所以不要把 Android 主目录名设置太长!也不要放在很深的子目录里!!
系统环境变量:
ANDROID=D:\Android(非必须偷懒写法)
ANDROID_HOME=D:\Android
加入 PATH:
%ANDROID%\tools;%ANDROID%\platform-tools;
或者
ANDROID_HOME=D:\Android
加入 PATH:
%ANDROID_HOME%\tools;%ANDROID%\platform-tools;

(3)安装 Apache Ant,正确配置系统环境变量 ANT_HOME、加入 PATH(后面例示)
下载:http://apache.fayea.com//ant/binaries/apache-ant-1.10.0-bin.zip
官网:http://ant.apache.org/bindownload.cgi
下载后解压缩在C:或DD盘根目录下(例如:D:\apache-ant-1.10.0)
系统环境变量:
ANT_HOME=D:\apache-ant-1.10.0
PATH 里增加:
%ANT_HOME%\bin;

* npm install -g cordova
npm install -g ionic
npm install -g http-server
* npm install -g gulp
*代表全局和本地即项目(比如myApp)都要安装
【打包前配置、测试】
node -v
java -version
ant -version
android

创建项目文件夹:cordova create myApp(相应目录会自动生成)
进入到项目文件夹里,确保能成功执行(只要不报组件缺失的错,其它的可忽略):
(1)cordova platform add android
(2)ionic run android

【ionic Android 打包流程】
(1)为加快编译速度,强烈建议:手工下载 gradle!下载网址是:
http://services.gradle.org/distributions/gradle-2.14.1-all.zip(.gradle解压到C:\Users\mjx\下面就不会自动去下载)
(2)下载后的zip文件要拷贝到项目的\platforms\android\gradle 文件夹下!
(3)设置环境变量,命令行输入:
set CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=../gradle-2.14.1-all.zip(每次进cmd都要设置)
(4)为加快编译速度,推荐修改组件下载地址为阿里云服务器——
打开项目\platforms\android\build.gradle修改:
repositories {
//mavenCentral() // 注释掉
jcenter()
flatDir {
dirs 'libs'
}
maven {
url "http://maven.aliyun.com/nexus/content/groups/public"
}
}
(5)开始时先输入指令打包(在此过程中程序会检查、添加组件并配置、编译)
ionic build android(如果用ionic打包,config.xml和ionic.config.json里面的名字都要改)
(6)如果不能一次成功的话,可输入终极打包指令( --release 是正式发布选项):
cordova build android --release(如果用cordova打包就只用改config.xml)
(7)成功后,可在项目/platforms/android/build/outputs/apk/ 下找到打好的apk包

附加============================================================================
【关于证书】
Keytool 是Java-SDK下的一个有效的安全钥匙和证书的管理工具;
Android 要求所有程序必须有签名,否则就不安装。
输入指令时要将 XXXXXXXX 改成自己设定的
keytool -genkey -v -keystore my-release-key.keystore -alias XXXXXXXX -keyalg RSA -keysize 2048 -validity 10000
【关于签名】
jarsigner是Java-SDK中包含的用于JAR文件签名和验证的工具。
注意:输入指令时 XXXXXXXX 与证书名须一致!
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk XXXXXXXX
注意:
1.证书和签名都是config.xml中的作者名(注意XXXXXXXX -keyalg RSA中间有空格,另外这里的名字大部分人用项目名,apk名也可以,因为这只是一个别名所以都可以,但是注意上下一致)
2.第一次打包成功后以后打包只需要将自己的文件夹改为www,然后将myAPP里面的www换一个目录名,myApp(app的名字改一下,config.xml里面的app名字改一下,然后证书和签名做完就可以了)
3.HelloWorld-release-unsigned.apk要改为打包的apk名字
4.注意证书和签名操作都是在apk目录下完成,而不是在myApp下面
【App优化】

Zipalign 是android平台上整理APK文件的工具,能够对打包的Android应用程序进行优化。
将Android sdk下面的build-tools下面的zipalign.exe复制到tools文件夹下面
例如:
zipalign -v 4 android-release-unsigned.apk xxxxxxx.apk

cordova/ionic打包流程的更多相关文章

  1. Cordova+Ionic之坑

    命令:ionic platform add android 报错:Unable to start the daemon process…… 解决: 1)添加环境变量[_JAVA_OPTIONS],值: ...

  2. Cordova+ionic 开发hybird App --- 开发环境搭建

    Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...

  3. ubuntu15.10下搭建cordova+ionic开发环境

    安装jdk 在命令下输入java如果没有安装会提示该命令包含于openjdk软件包 sudo apt-get install openjdk然后按下tab会列出openjdk开头的软件包 我这里就选择 ...

  4. VS2015 Cordova Ionic移动开发(二)

    一.创建空白Cordova应用 打开VS,选择[新建项目],选择其它语言JavaScript或者TypeScript,语言的话就按个人喜好,喜欢JS就用JS,喜欢TS就用TS,推荐使用TS书写,代码结 ...

  5. Hybrid App混合模式移动应用开发(AngularJS+Cordova+Ionic)

    以前公司开发了某手机APP是通过jquerymobile来实现的,发现它对手机上的原生设备无能为力.于是在下一个项目到来之际,通过筛选最终决定使用cordova+Ionic.看起来简单,但是因为他们各 ...

  6. ionic打包app——以安卓版本为例 辛苦之路~~~

    最近同事做了个angular项目,因为要离职,所以项目我就来接手了,用ionic打包app,然后无数配置的坑就等着我了~~~ 环境安装 1.nodejs 因为自己刚接触做angular项目,就更新到了 ...

  7. 实践分享:开始用Cordova+Ionic+AngularJS开发App

    http://www.cocoachina.com/webapp/20150707/12395.html 本文是一篇关于我本人在使用Cordova+Ionic以及AngularJS开发移动App的过程 ...

  8. ionic 打包时所遇问题记录

    问题1 ----------------------- Error occurred during initialization of VM Could not reserve enough spac ...

  9. 一个简单移动页面ionic打包成app

    先贴JS代码好了,缓动和调整透明度的功能,最后用ionic打包成应用就可以 window.onload=function(){ search(); move(); calc();}function s ...

随机推荐

  1. dm_analysis

    # -*- coding: utf-8-*- # import sys import os import io import json reload(sys) sys.setdefaultencodi ...

  2. gerrit中mysql配置

    gerrit数据库使用mysql 进入gerrit数据库 mysql -ugerrit -p -h127.0.0.1 -P3307 密码为用户名加pass mysql> select * fro ...

  3. 0002-小牛学堂大数据24期视频-架构Hadoop-Spark

  4. CentOS 7系统初始化

    1. 升级系统 $ yum -y update 2.SELinux设置: 禁用 $ vi /etc/selinux/config 修改 SELINUX=disabled

  5. 'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    之前python2.7是没有pip的,需要安装python3.6 以上. 但是安装3.6版本后,还是一样.官网提示需要执行以下命令:python -m ensurepip --default-pip ...

  6. 4、hello world

    package com.ourteam.firstexample; import io.netty.bootstrap.ServerBootstrap;import io.netty.channel. ...

  7. 简单的PHP单例模式

    class MySQL { private static $instance; // 阻止外部实例化 private function __construct() { # code... } // 阻 ...

  8. Neject 在MVC框架中使用

    Neject 开始是用3.3.0.0,不能自动生成NinjectWebCommon文件,测试了很久发现,是版本的问题 ,后来用Nuget卸载后,重新下了Ninject,Ninject.Web.Comm ...

  9. c#+CAD动态移动效果

    public class MoveRotateScaleJig : DrawJig { public static List<Entity> entities = new List< ...

  10. [java,2017-05-17] 数据型参数趣谈

    int的最大值是多少?加一呢?乘2呢? 第一个问题我想大多数人都知道,不知道后两个有多少人研究过. 首先上一段代码: public class DecimalTest { public static ...