近日公司需要把项目uniapp打包成安卓,本来觉得是个简单的事情,结果在坑里面爬了2天,才爬出来,为了防止后面有人继续填坑,专门记录一下:
1.进入安卓打包指南页面
2.按要求下载 Android statudio ,Hbuildx(一定要看SDK对应版本) ,App离线SDK
点击sdk下载链接,会对Hbuildx版本进行说明
3.安装 Hbuildx ,android studio
-
android studio 第一次安装会有选择SDK Manager 点击编辑,选择自己需要的SDK 下载即可
-
然后就是需要配置代理,就是老提示按钮 Set Proxy ,
内容:mirrors.opencas.org:80
然后点击 【check connection】按钮,输入: http://baidu.com 确定即可
-
然后安装 模拟器 , 点击 手机小图标,然后 点击【create device】
-
然后选择需要的屏幕大小安装即可
4.解压SDK压缩包,然后导入 HBuilder-Integrate-AS 到 android studio
5.编译项目 ,点击菜单 build>make project 让项目自动编译
正常编译即可,需要点时间下载内容
6.如果编译不通过,就按照下面的做一遍
( 这块我就爬坑爬了几个小时,这是翻了很多资料后总结的)
1.根据 gradle-wrapper.properties 中的distributionUrl 到浏览器上去下载,注意: 冒号前面的斜杠 \ 要去掉
2.找到 File > settings > Build,Execution,Deployment > Build Tools > Gradle > Gradle user Home ,这个路径就是下载后压缩包的主路径,但是不是最终路径,我姑且命名它为 GradleUserHome ,后面有几个地方用到我就用这个名字代替
3.找到 gradle-wrapper.properties 中的 zipStorePath 位置,作为 GradleUserHome 路径后面追加的路径,作为gradle的路径,默认一般是: C\Users\你的用户名.gradle\wrapper\dists ,下面是gradle的版本
然后根据gradle的版本进入不同的目录
4.那一串乱七八糟的代码目录下,删掉所有的内容,把压缩包放进去,然后重启android studio
5.gradle 不报错以后,到 GradleUserHome 下 把gradle.properties 全部注释,然后保存
6.到File > Settings >System Settings>Http Proxy 下,代理改为 no proxy
7.重新编译项目,项目编译通过
8.如果是android studio 自己下载的gradle,报 Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: ,还是按照3-6的步骤下载,走一遍
9.还不行,看下jdk,jdk 换成自己的,jdk8,不要用官方的jdk
7.这里差不多才开始进入项目本地打包的第一步,恭喜你,终于可以开始正式入坑
这有个参考链接,做的比较完整:https://www.cnblogs.com/moro255/p/17142954.html
这是我写的:
- 生成Key,收到到 %JAVA_HOME%\bin 目录下,执行这个命令:
keytool -genkey -alias test01 -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
由于篇幅的原因,这里不多做说明,参考: https://blog.csdn.net/qq_40745143/article/details/122336736
生成完毕,执行信息:
keytool -list -v -keystore test.keystore
这是示例图:
-
-
进入应用管理
-
选择应用
-
创建离线Key ,点击 各平台信息 > 然后点击创建
-
点击提交 ,然后到各平台信息那里,选择新建的那条,创建离线AppKey
-
创建完成后点击查看,Android: 后面对应的就是AppKey ,appId 就是你的应用appid,然后包名就是刚刚设置的包名
到此处,准备工作算是做完了
-
Hbuildx 生成本地打包资源
-
点击路径,进入编译后的资源位置,备用
-
android studio 删除默认的项目
-
然后把新变Hbuildx编译好的资源,将生成好的内容复制到 android studio 下的assets/apps/ 目录下
-
放置后的样子:
-
修改 android studio 下的assets/data/dcloud_control.xml 里面的appid 和版本
-
修改AndroidManifest.xml 包名,AppKey
-
编译Apk包
-
编译成功,点击这里查看apk