一、照例,先说一下上下文
最近进行App的打包,平台为IOS和Android,分别都遇到了非常多的坑,后续会整理一下一起贴出来与大家交流。
目前先说一说刚刚解决的在Android平台下打包遇到的一个超级大坑。
二、用到的环境

* Android SDK: android-sdk_r24.4.1-windows 环境变量已配置完毕
* Node.jd: node-v8.11.3-x64.msi环境变量已配置完毕
* Git: Git-2.17.1.2-64-bit.exe环境变量已配置完毕
* ionic: 通过Noid,js的npm工具安装
* Gradle:gradle-4.8环境变量已配置完毕
三、打包开始

*
cd 进入工程目录下,执行 ionic cordova build,选择android,大坑开始~


*
看见图中粉色框子的报错信息了没?相信进来看这篇文章的朋友都报了这个错误吧,是不是百度搜索了我标注黄框子的报错语句Could not resolve
com.android.tools.build:gradle:3.0.0

百度上关于这条报错的解决方法有好多好多,大家都是在搜索中刚好见到了能解决自己问题的前辈留下的方法。然而,我在百度搜索了将近两天,各种方法都试过了,更换gradle版本、添加npm代理、x墙、build.gradle文件添加东西等等,依然还是不行,已然准备被辞退回家喝农药了。

*
如果你也像我一样各种方法都试过了,依然还是报这个错误的话,请你想一想,你最初安装Android SDK的时候,是不是因为运行Android SDK
Manager下载SDK插件包的时候,因为国墙的问题,在你windows系统的hosts中添加过什么东西?



*
这个问题点我早已经忘得干干净净的,如果不是对着电脑屏幕的报错信息瞪着看出雪花来的话,根本不会想到这里。删除hosts中自己添加的那部分内容,第一个坑被解决!

* 重新打包,结果很快就遇到了第二个小坑 You have not accepted the license agreements of the
following SDK components [Android SDK Platform26]. Before building your
project, you needto accept the license agreements and complete the installation
of the missing components using the Android Studio SDK Manager.
这是完整截图:


对于这个小坑,我采用了三种办法同时下手(究竟哪个是治本的,不得而知),完美解决:
1. 看到了Android SDK Platform 26和Android Studio SDK Manager,果断回头升级Android Studio
SDK Manager关于Android SDK 26的部分(瞎蒙呗,万一对了呢)


2.参考这位前辈的做法:

https://blog.csdn.net/qq_22780533/article/details/79753110
<https://blog.csdn.net/qq_22780533/article/details/79753110>



3.参考这位前辈的做法:

https://blog.csdn.net/xlyrh/article/details/54667633
<https://blog.csdn.net/xlyrh/article/details/54667633>



最后大功告成:



当然,这是是测试打包文件,正式发布的还需签名打包。而且这仅仅是作者这几天来遇到的无数问题中的一个,算是比较绕弯的。等时间充裕了,会把完整的IOS和Android平台打包的环境配置和流程以及遇到的数不清的问题贴出来,算是做一个备忘录。

关于升级Android SDK Manager时国墙的问题,如果你正在挠头,可以看我另外一篇文章。
最后请您原谅我知识和言语的贫瘠,因为我只是个初学者。