环境安装

1.nodejs

安装版本5.7,尽量不要安装太新的版本,因为可能会出现兼容性问题,一开始本人安装的是6.+的版本,后来出现问题的,马上换回5.7的,问题就不会出现了。

安装教程网上教程很多。

2.JDK

下载安装jdk,我这里装的版本是1.8,(切记要和自己电脑的位数要一致 32/64,不然打包过程可能会出问题)

配置环境变量:

新建系统环境变量 JAVA_HOME,路径指向jdk的安装目录,如:E:\Program Files\Java\jdk;

新建系统环境变量CLASS_path,路径:  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

在系统变量path里面添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

尝试向命令行输入javac,如果没报错,则配置成功了

3.SDK

下载安装sdk即可,

配置环境变量:

新建系统环境变量ANDROID_HOME ,路径: E:\AndroidSDK (路径不能包含空格,因此我直接装在E盘根目录,而不是Program file 目录下)

向用户变量PATH里面添加路径:%ANDROID_HOME%\platform-tools;

向系统变量path里面添加路径:%ANDROID_HOME%\tools;

尝试向命令行输入adb,如果没报错,则配置成功了;

接下来打开Android SDK Manager,下载好以下几个包:

(图上为installed即是我下载的,当然有一个是要更新的,Android SDK platform-tool,我暂不更新)

4.确保已经安装有ionic 和cordova

npm install ionic cordova -g

这里顺带记录一下,npm安装全局依赖,为了方便管理包,我是直接在nodeJS 的安装目录下C:\Program Files\nodejs,新建node_cache、node_global连个文件夹,node_global用于保存所有npm全局安装的依赖包。

然后配置环境变量:

向用户变量path ,添加路径:C:\Program Files\nodejs\node_global\;

向系统环境变量path,添加路径 C:\Program Files\nodejs\;

新建系统环境变量,NODE_PATH , 添加路径: C:\Program Files\nodejs\node_global\node_modules;

打开命令行窗口运行一下命令修改npm全局安装路径:

npm config set prefix "C:\Program Files\nodejs\node_global"

npm config set cache "C:\Program Files\nodejs\node_cache"

这样一来,全局安装的包就会被本项目所引用到了,并且统一装在C:\Program Files\nodejs\node_global\node_modules目录下面,可以重复利用,避免多次安装;

5.到这里,环境安装的差不多了,可以进行打包了

执行添加安装平台的命令

ionic platform add android

打包项目

cordova build --release android

#如果出现报错

Error:Unable to start the daemon process. 

This problem might be caused by incorrect configuration of the daemon. 
For example, an unrecognized jvm option is used. 
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html 
Please read the following process output to find out more: 
----------------------- 
Error occurred during initialization of VM 
Could not reserve enough space for object heap 
Error: Could not create the Java Virtual Machine. 
Error: A fatal exception has occurred. Program will exit.
 
解决方法:
新建系统环境变量 _JAVA_OPTIONS,值为: -Xmx512M;

确定,重新打包;

成功后就会在项目根目录 platforms\android\build\outputs\apk\下可以找到尚未签名的apk

#如果在download gradle 很久,然后报错时,可以通过以下方法解决:

上网找对应版本的gradle zip包(看命令行提示的是什么版本) ,下载后粘贴路径如:myApp\platforms\android\gradle\gradle-2.2.1-all.zip;

然后找到 project/platforms/android/cordova/lib/builders/GradleBuilder‌​.js,这个文件里面,找到变量 var distributionUrl=http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip;将路径改成你刚刚存放gradle包的路径

../../../android/gradle/gradle-2.13-all.zip

这样问题就解决了;

6.apk签名

生成key证书于项目根目录 sm.keystore

keytool -genkey -v -keystore sm.keystore -alias sm.keystore -keyalg RSA -validity 20000

(keytool是在jdk里面的一个生成key签名证书的工具,E:\Program Files\Java\jdk\bin下可以找到)

根据key证书进行apk签名

jarsigner -verbose -keystore sm.keystore -signedjar D:\PHP\htdocs\shenmaf\platforms\android\build\outputs\apk\shenma.apk D:\PHP\htdocs\shenmaf\platforms\android\build\outputs\apk\android-release-unsigned.apk sm.keystore

jarsigner 是签名工具也是在jdk里面;

sm.keystore是上面所生成的签名证书

-signedjar 后面第一个参数是签名后apk的存放路径,第二个参数是尚未签名的证书的路径

执行完后,即可在上述指定的路径下生成shenma.apk,安卓手机安装运行即可。

windows下 ionic 打包app --以安卓版本为例的更多相关文章

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

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

  2. 【转】Windows下安装python2和python3双版本

    [转]Windows下安装python2和python3双版本 现在大家常用的桌面操作系统有:Windows.Mac OS.ubuntu,其中Mac OS 和 ubuntu上都会自带python.这里 ...

  3. windows下安装和配置多个版本的JDK

    https://jingyan.baidu.com/article/47a29f2474ba55c015239957.html 如何在windows下安装和配置多个版本的jdk,本文将带你在windo ...

  4. Windows下Python2与Python3两个版本共存的方法详解

    来源:http://www.jb51.net/article/105311.htm 这篇文章主要介绍了Windows下Python2与Python3两个版本共存的方法,文中介绍的很详细,对大家具有一定 ...

  5. ionic打包步骤(安卓)

    打包APP之前要做的工作: ionic resources -icon : [创建一个app图标]: 以png/psd/AI格式保存在项目目录下的:resource/android/icon.png ...

  6. Windows 下 Ionic 开发环境搭建

    Ionic 介绍 首先,Ionic 是什么. Ionic 是一款基于 Cordova 及 Angular 开发 Hybrid/Web APP 的前端框架,类似的其他框架有:Intel XDK等. 简单 ...

  7. Windows下Ionic Android开发环境搭建

    转自 http://www.itwap.net/ArticleContent.aspx?id=26 来源: itwap.net 作者: 词略 时间: 2015-4-2 16:57:28 (一)Ioni ...

  8. 7步学会在Windows下上架iOS APP流程

    之前用跨平台开发工具做了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到App Store试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的钥匙串申请发布证书和上传 ...

  9. 记一次 Nuxt 3 在 Windows 下的打包问题

    0. 背景 之前用 Nuxt 3 写了公司的官网,包括了样式.字体图标.图片.视频等,其中样式和字体图标放在了 assets/styles 和 assets/fonts 目录下,而图片和视频则放在了 ...

随机推荐

  1. AppBoxFuture: 二级索引及索引扫描查询数据

      数据库索引对于数据查询的重要性不可言喻,因此作者在存储层实现了二级索引,以及利用索引进行扫描的功能.目前仅实现了分区表与非分区表的本地索引(数据与索引共用一个Raft组管理),全局索引及反向索引待 ...

  2. 使用canvas来完成线性渐变和径向渐变的功能

    fillStyle的第二种使用情况就是渐变色的填充.渐变色就分为线性渐变色和径向渐变色.   线性渐变:大致分为两步 这里又会使用到canvas的两个新的函数.   第一步 : 使用一个新的函数cre ...

  3. Java EE API

    百度云:链接:http://pan.baidu.com/s/1nvTlMLb     密码:vulq 官方下载网址:http://www.oracle.com/technetwork/java/jav ...

  4. C#编程.函数.参数

    详细内容请参见<C#入门经典(第4版)>p101页 1.参数匹配 在调用函数时,必须使参数与函数定义中指定的参数完全匹配,这意味着要匹配参数的类型.个数.和顺序. 注:函数签名由函数的名称 ...

  5. 深挖Openstack Nova - Scheduler调度策略

    深挖Openstack Nova - Scheduler调度策略   一.  Scheduler的作用就是在创建实例(instance)时,为实例选择出合适的主机(host).这个过程分两步:过滤(F ...

  6. C++ 八数码问题宽搜

    C++ 八数码问题宽搜 题目描述 样例输入 (none) 样例输出 H--F--A AC代码 #include <iostream> #include <stdio.h> #i ...

  7. ThreadPoolExecutor带来的性能问题

    使用线程池,一般情况下会带来性能提升,并且使用线程池管理线程,减少了每个任务调用的开销,通常可以在执行大量异步任务时提供增强的性能. 但是在高并发的情况下,会因为使用不当导致性能下降,并且下降得比较严 ...

  8. Intellij IDEA 出现“Usage of API documented as @since 1.8+”的解决办法

    转自 https://blog.csdn.net/qq_27093465/article/details/69372028 具体报错内容如下: This inspection finds all us ...

  9. 洛谷 P3811 题解

    题面 利用暴力快速幂O(nlogn)会TLE掉: 所以对于求1~n的所有逆元要用递推公式: #include <bits/stdc++.h> using namespace std; ]; ...

  10. 从源码看java线程状态

    关于java线程状态,网上查资料很混乱,有的说5种状态,有的说6种状态,初学者搞不清楚这个线程状态到底是怎么样的,今天我讲一下如何看源码去解决这个疑惑. 直接上代码: public class Thr ...