因为本文还是有一些错误,而且HBX已经支持本地打包,所以请直接使用HBX的本地打包好了。
uni-app本地打包apk需要提前做非常多的准备工作,而且可能会劝退一些开发者,我今天说一说整个流程。
一、安装Android Studio
官方下载地址(无需翻墙):https://developer.android.google.cn/studio/archive
建议不要使用4版本,因为它比较新,网上搜到的教程大多基于3版本。
我下载了3版本的最后一个版本,3.6.3。
安装过程略。
二、安装Android SDK和Google USB Driver
启动Android Studio,不要创建项目,直接看右下角的 Configure,点击 SDK,根据你的手机Android版本勾选对应版本,然后到SDK Tools面板,勾选Google USB Driver,确定,等待。
三、配置你的手机
首先USB连上手机,看看驱动是不是正常,不正常的话,手动指定驱动安装位置,一般是C:\Users\Administrator\AppData\Local\Android\Sdk
,然后等待安装完成。
开启开发者模式(方法自己搜),进去,开启USB调试和USB安装。
之后电脑以USB连接上你的手机,传输模式选“文件”。
只要你的Windows设备管理器里出现了你的手机(可能藏在“便携设备”里,仔细找找),就说明OK了。
四、在Windows系统变量里添加ANDROID_HOME
变量名:ANDROID_HOME
变量值:C:\Users\Administrator\AppData\Local\Android\Sdk (你的电脑可能有差别)
五、下载uni-app提供的Android离线SDK
下载地址:https://nativesupport.dcloud.net.cn/AppDocs/download/android
下载完毕解压,将 \HBuilder-Integrate-AS 文件夹拷贝到一个干净文件夹里,以后我们就围绕这个文件夹开展工作。
六、Android Studio导入HBuilder-Integrate-AS
启动Android Studio,点击 Import Project,导入咱们的HBuilder-Integrate-AS文件夹,之后Android Studio会进行N多的后台操作,其中唯一麻烦的是下载Gradle。
七、手动下载Gradle
Android Studio导入项目后可能会下载Gradle,这个文件有100多M,下载速度通常需要几分钟,如果你等不及,可以从Android Studio下方状态栏看看Android Studio正在下载哪个版本,脑子记住版本号,然后前往官网https://services.gradle.org/distributions/用下载软件下载对应文件,可以提高下载速度。
下载完毕,关掉Android Studio,打开 C:\Users\Administrator\.gradle\wrapper\dists (你的电脑可能有差别)你会发现版本号文件夹,进去直到最深层,你会发现2个临时文件,删掉它们,拷贝进去下载好的gradle压缩包,启动Android Studio,这时候Android Studio会主动处理你放进去的压缩包,免去下载的痛苦。
尽管Android Studio还会后台下载一些包,但是我们不用去关心了。
八、修改HBuilder-Integrate-AS的各路文件
最复杂的部分到了,这里就要参考uni-app提供的教程了:
https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android
它说的“准备工程”,我们其实已经在上文选择了第二种,“导入工程”。
新建和导入这2种步骤的区别在于:所谓导入工程,这个工程就是Android离线SDK压缩包里的 \HBuilder-Integrate-AS 文件夹,uni-app官方已经帮你创建了工程,而且尽量配置了工程,你省去创建,而且也省去了大部分的配置,但肯定还要配置一小部分东西,我们就看看配置什么东西:
基础库配置,你全跳过就好,HBuilder-Integrate-AS已经全配置好了
-
应用配置
a. 配置应用版本号,因为咱们是测试,能省则省,跳过
b. 配置应用名称,因为咱们是测试,能省则省,跳过
c. 配置应用启动页,跳过
d. 配置应用图标和启动界面,这里看情况,因为本地打包都是内部开发测试包,所以使用uni-app官方自带的图标没什么大不了的,你非要改成自己的,我也不拦着,模仿官方提供文件,替换官方文件就好了
-
资源配置
a. 创建data文件夹并拷贝资源,跳过
b. 创建apps文件夹并拷贝资源,要做。首先你需要从HBuilderX打开 发行 - 原生APP本地打包 - 生成本地打包APP资源,得到一堆文件,然后去movieheaven文件夹的assets->apps照猫画虎,删掉DEMO,替换成自己的资源
c. 修改dcloud_control.xml文件,要做。因为你的项目并不是5+APP,所以manifest.json里没有id,只有appid,自己清楚所谓的id是指哪个就行了。关于自定义基座的事,如果你使用自定义基座,那么就听官方的要求,加上
debug="true"
和syncDebug="true"
即可。至于自定义基座怎么做,那就是另一个话题了,真心不难,不多说
九、RUN!
打开HBuilder-Integrate-AS\app\build.gradle,右击打开菜单,点绿色箭头Run
按钮,会发现一片提示,大致是BUILD SUCCESSFUL in 0s
之类的,就说明打包成功了。
此时你的Android Studio右上角或许根本没有认出你的手机,这个事因手机而异,我也无法给出一定能成功的解决方案。好在,我们并不需要一定在手机预览,因为我们只想本地打APK。如果Android Studio发觉了你的手机,并开始编译,之后你的手机会有弹窗,同意即可。一切正常的话,Android Studio会给你的手机就安装好apk。
这一步只是测试一下工程是不是能跑通,并不是打包的过程,打包的过程是下一步。
十、打包本地APK
Android Studio打开 Build - Build Bundle(s) / APK(s) - Build APK(s),等待,然后右下角会提示打包成功,点击 Locate 会打开apk所在文件夹,到此,apk打包成功,分发给同事们吧!