第一步:下载所需文件-打包前准备工作
步骤一:下载 Android 离线SDK - 正式版 解压至你想要存放的地方
步骤二:复制粘贴文件夹中的HBuilder-Integrate-AS项目,然后修改其命名,我这里就叫demo-AS
添加图片注释,不超过 140 字(可选)
步骤三:将demo-AS项目在android中打开
添加图片注释,不超过 140 字(可选)
第二步:uni项目配置信息-打包前准备工作
步骤一:创建项目,已有项目可忽略此步骤
添加图片注释,不超过 140 字(可选)
步骤二:创建keystore文件
到这里大家就需要创建一个keystore文件并拿到相关信息,已有可以跳过
1.打开一个自己要存放文件的地方,打开cmd,输入
keytool -genkey -alias 你的别名 -keyalg RSA -keysize 2048 -validity 有效期(365 = 1年。建议时间填长一些) -keystore 你的文件名.keystore
添加图片注释,不超过 140 字(可选)
之后直接keytool -list -v -keystore 文件名.keystore,拿到MD5,SHA1,SHA256内容复制下来
添加图片注释,不超过 140 字(可选)
步骤三:登录 开发者中心 找到对应自己的项目,确认后选择第二项点击右上角新增,填写对应信息
图1
包名可在图3获取,包名可修改,但要保证唯一性,不知道图3在什么位置的可以打开HBuilder X编辑器,上方选择栏中 点击 <发行> 然后 点击 <原生app-云打包> 即可
图2
图3
确认完后即可点击创建离线打包key,然后可查看android的key值
图4
图5
第三步:生成本地打包app资源
步骤一:看图,点击生成即可,生成后会有一个路径地址,点击可以获取到该文件的内容
添加图片注释,不超过 140 字(可选)
将resources文件夹下的文件,复制粘贴到自己的android项目中
添加图片注释,不超过 140 字(可选)
第四步:开始配置安卓打包信息
步骤一:复制的文件替换你项目的_UNI_A,删除_UNI_A文件
添加图片注释,不超过 140 字(可选)
步骤二:进入dcloud_control.xml文件夹下,将appid替换成自己项目的appid
添加图片注释,不超过 140 字(可选)
步骤三:应用名称修改
添加图片注释,不超过 140 字(可选)
步骤四:替换包名,离线打包key
图1
图2
步骤五:bulid.gradle文件下,修改包名,版本信息等,下方signingConfigs的内容可以不管,我们是通过java已经生成了证书文件,如果你就是jks文件,那么就在这个地方填写上你的相关信息
添加图片注释,不超过 140 字(可选)
第五步:解决打包前问题
问题一:Build 没有 Generate Signed Bundle / APK...
找到该文件,然后添加 android.overridePathCheck=true
添加图片注释,不超过 140 字(可选)
问题二:java jdk版本问题导致的与gradle版本不兼容
添加图片注释,不超过 140 字(可选)
一,二解决后:File中找到Sync Project with Gradle Files 一下
添加图片注释,不超过 140 字(可选)
此时就会开始给你安装你所需的gradle文件,完成后如图所示,此时就可以进行安卓正常的打包流程操作了
添加图片注释,不超过 140 字(可选)
问题三:当处理完所有的操作后,正常是可以打包的,但打包时会出现这么一个问题
添加图片注释,不超过 140 字(可选)
问题三:解决方法
这个问题原因是gradle和gradle插件版本的问题,但我试了升级版本,好像uniapp项目不合适。
将这串代码粘贴至 图中位置 --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
百度了很多篇文章之后找到了上述的解决版本
添加图片注释,不超过 140 字(可选)
第六步:打包 - 选择uniapp项目的keystore文件,输入密码,别名,创建
至此,关于uniapp安卓端本地离线打包结束
添加图片注释,不超过 140 字(可选)