2018-12-09

1.基本依赖环境

nodejs环境 (作为一个前端相信你已经有了) 



最好提前配置好node的环境变量,便于全局访问。

jdk(java的开发基础类库,因为 android ) 

SDK(安卓开发集成包,集成了安卓的开发工具,插件,API等等) 

gradle( JAVA界的Weboack ,支撑app的编译,打包的流程)

2. 基本工具

gitbash(就是用来替代windows自带的丑陋的CMD)

下载:我都打包了!

链接:https://pan.baidu.com/s/1mje7ZHu 密码:ob6m

windows自带的CMD(window+R输入CMD,管理员身份运行)

VSCode(微软爸爸开发的前端IDE)

下载:请自行去微软爸爸官网下载。

3.环境配置

3.1 nodejs (需要配置环境变量)

前端必会,跳过。

不会的去这里看傻瓜教程:https://www.jianshu.com/p/03a76b2e7e00

3.2 jdk (无需配置环境变量)

下载:已经上传网盘↓

链接:https://pan.baidu.com/s/1mje7ZHu 密码:ob6m

请自行根据系统安装32/64位的版本。

安装方法:下载完成,解压,直接按照提示安装,全局点确定,不出意外,最后的安装路径为:C:\Program Files\Java

OK,jdk安装完成,在cmd中,输入$ java -version验证是否安装成功。

OK。

3.3 sdk (需要配置环境变量)

下载:跟上面的一样,我都打包了。

链接:https://pan.baidu.com/s/1mje7ZHu 密码:ob6m

解压后(直接右键X解压并重命名。因为面还有个文件夹,不建议用右键+E解压)。

将重命名的文件夹,跟jdk放在一个父目录,便于查找:C:\Program Files\SDK

接着配置环境变量,我的电脑——右键属性——-高级系统设置——-环境变量。

在下面的系统变量(s)中,新建,键值对如下:

name: ANDROID_HOME

key: C:\Program Files\SDK

如图所示:

然后在path中,全局声明一下,将 ;%ANDROID_HOME%\tools 缀在最后面,前面有【;】分隔符。(注:win 10 系统不需要封号,SDK,JDK也是同理)。

然后运行CMD,输入$ android -h,如果出现一大堆指令,说明你的SDK安装无误,并且环境变量配置OK。

现在,打开SDK目录下的SDK Manager.exe

打开界面上的Tools,选择options,先配置国内镜像:

域名千万不要输入http或者https协议前缀,谁输谁哭。

下面记得勾选。

回到主界面,点packages再点reload

先勾选如下图的三个Tools:

分别是[ Android SDK Tools,Android SDK platform-tools,Android SDK Build-tools]

别急,还没完,下面还有一个:

[SDK platform]

全部选中后,点右下角 install packages 来安装,耐心等待即可。

3.4 gradle安装(需要配置环境变量)

打开:http://services.gradle.org/distributions/

下载:gradle-4.1-bin.zip

同样安装在JDK,SDK的目录下,便于查找。

同样的配置环境变量:

GRADLE_HOME=C:\Program Files\SDK\gradle-4.1

;%GRADLE_HOME%\bin

测试命令(查看版本):gradle -v

3.基本流程

1.安装ionic和cordova

打开Gitbash,全局安装ionic和cordova(IONIC是UI,cordova负责打包成apk,并且可以调用原生安卓的各种API)

$ cnpm install -g ionic cordova

1

[ 2018/8/1 17点58分 加更 ]

验证 ionic 是否安装成功

IONIC更新到 v4 了,后续我会体验一下,写一篇新博客~

2.创建ionic项目

桌面右键,在此处gitbash

$ ionic start app tabs

1

耐心等待完成,在 cd 到 app 子目录(app是你的真实项目目录),然后

$ ionic serve

1

稍等片刻,浏览器自动弹出预览界面(建议电脑安装Chrome浏览器),并且支持持续热更新(Webpack的功能),如下图所示:

如果做到这一步没问题,说明:

1.nodejs与gitbash没有问题。

2.ionic和cordova没有问题。

4.打包

确保SDK,JDK没问题以后,使用指令

$ ionic cordova build android --release

1

(如果这条命令有问题,可以去掉–release然后debug编译,编译完成Dos会显示apk目录位置)

如若你聪慧的双眼发现如下字眼:Build Success! 说明你已经成功打包了。耐心等待,命令行结束会提示你apk的生成位置,如图所示:

OK,此时你已经有了debug的包,但是这个包没有签名,不能发布。

此时,我们应该:

在JDK目录下的bin文件夹下(C:\Program Files\Java\jdk1.8.0_71\bin),先看看有没有keytool.exe和jarsigner.exe文件,这两个程序用于给APK签名,签名以后即可发布。

.将Ionic生成的文件先命名为app.apk,然后复制一份当前的bin目录里,执行命令1,生成自己的签名文件,名为:zhangqiang.keystrore,别名也是这个,有效期20000天,仅仅在第一次生成签名文件,以后不需要。

执行完命令1,继续执行命令2即可完成签名打包。

命令1:生成签名密钥

/*

使用工具, 签名:

-genkey表示构建签名文件

-v 显示在dos窗口中

-alias表示签名包的别名

-validity 签名有效期(天)

姓名:填上,用你名字拼音全拼

城市:随便填,不填也行

国家: 随便填,不填也行

密码口令:敲的时候不动,是因为保护隐私,别当做你电脑死机!

*/

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

在CMD窗口执行如下命令,输入秘钥确认即可生成签名文件 yourname.keystore ,

$ keytool -genkey -v -keystore [姓名].keystore -alias [姓名].keystore -keyalg RSA -validity 20000

输入如图:

(PS:真 · JAVA 密保)

此时按下回车,即可生成签名:

如果报错,说明你的 CMD 不是以管理员身份打开的,请在管理员身份下打开。

命令2:给文件签名

使用刚才生成的 signer 来给 app 签名,Usage:

[姓名].keystore -signedjar 签名后的apk 签名之前的apk 签名包名(命令一生成的签名文件名)

Exeample :

$ jarsigner -verbose -keystore [姓名].keystore -signedjar complete.apk app.apk [姓名].keystore

输入前面设置的密码,即可签名。

如上图所示,IONIC打包的文件为app.apk,签名后的文件为complete.apk,这时候,可以说,一个软件就诞生啦!

后续的软件压缩打包可以百度:jarsigner打包

5.疑难杂症

Without ·from· option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to undefined to prevent this warning

出现这个提示,说明配置不正确。

5.1 文件引用路径错误

解决方法:

在“/node_modules/@ionic/app-scripts/dist/sass.js”路径的“sass.js”文件,在postcssOptions参数中添加“from: undefined”。添加后效果如下:

var postcssOptions = { 

        from: undefined, 

        to: path_1.basename(sassConfig.outFile), 

        map: autoPrefixerMapOptions 

    };

1

2

3

4

5

5.2 安卓SDK组件缺失/缺少/不匹配

报文:

A problem occurred configuring project ‘:CordovaLib’.

You have not accepted the license agreements of the following SDK components:

[Android SDK Build-Tools 26.0.2].

原因:SDK构建工具和platform工具不匹配,或者有东西遗漏了,没下载。

解决:如果中途报错SDK出问题,请打开C盘/profiles/SDK/manager.exe,使用东软的镜像,根绝报错信息,来down对应的platform或者build包。

5.3 缺少安卓构建/打包工具

报错报文:

Unhandled promise rejection (rejection id: 1): CordovaError: Could not

find an installed version of Gradle either in Android Studio, or on

your system to install the gradle wrapper. Please include gradle in

your path, or install Android Studio (node:3444) [DEP0018]

DeprecationWarning: Unhandled promise rejections are deprecated. In

the future, promise rejections that are not handled will terminate the

Node.js process with a non-zero exit code.

原因:缺少安卓构建打包工具,报文提示你可以用Android Studio,也可以安装一个Gradle。

解决办法:

去http://services.gradle.org/distributions/ 下载 gradle-4.1-bin.zip,下载完成解压到和JDK,SDK相同的父目录,便于将来查找(C:\Program Files\gradle-4.1)

配置相应的环境变量:

键:GRADLE_HOME

值:E:\software\gradle-3.0 (你的东西下载到哪,就填写对应的目录)

环境变量 path 中继续后缀

;%GRADLE_HOME%\bin (WIN7及以下系统注意封号,WIN 10 可以忽略)

完成上述任务后,重新运行Gitbash,然后 $ ionic cordova build android ,发现build成功,会自动下载gradle-4.1-bin.zip (初步猜测是因为自己的gradle路径不对,也可能是没有被项目依赖,但是项目在全局空间中发现gradle环境,因此自己要下载gradle来依赖。)

5.4 在安装,或者build 时没有管理员权限,导致无法写入磁盘

解决方法: 以管理员身份运行 CMD (commder )即可。

5.5 无法签名

jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed size (expected 7508 but got 7333 bytes)

解决办法:已经签名过了,无需再次签名。

---------------------

作者:Tycho丶

来源:CSDN

原文:https://blog.csdn.net/qq_20264891/article/details/79319408

版权声明:本文为博主原创文章,转载请附上博文链接!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容