离线打包前必要准备:
1. 安装java环境
2. 挂vpn以便android studio安装各种插件依赖
3. 新安装的android studio要新建一空白项目
4. 离线SDK下载
上述步骤全部完成,离线打包基本无坑。
安装java环境:
1. 下载安装包
2. 默认路径安装
3. 配置环境变量JAVA_HOME和PATH。
4. cmd中javac和java -version来验证是否安装成功
uniapp离线打包流程:
1. 下载官网提供的离线打包SDK,导入箭头所指项目到android studio中。
2. 删除apps中原有的文件夹,删除dcloud_control.xml中原有的appid。
3. 将uniapp项目生成本地打包app资源,粘贴进上面的apps中,从mainfest.json文件中找到appid粘贴进上面的dcloud_control.xml中。
4. 自定义签名文件。(这里踩坑)
正常:在android studio中点击build找到Generate Signed Bundle/APK。
坑点:没有此项。原因是android studio运行报错。
当时的排查记录如下:
- gradle是否在本地存储并解压完毕。------失败
- 打开android studio中打开终端,输入命令gradle installDebug发现android sdk版本不一致。
- 在本地D:\environment\Android Studio\sdk\tools\bin更新SDK。sdkmanager.bat --update,sdkmanager.bat --licenses。------失败
- 下载提示中sdk版本。再次sync project with gradle files,工程同步成功。此时再点击build就有了Generate Signed Bundle/APK选项。------成功
解决完上述BUG后,我们点击build找到Generate Signed Bundle/APK,再点击apk选项,create new新的key。windows平台下叫jks,macos平台下叫keystore。
5. 运行项目
连接手机后先同步再运行。
报错解决:在build.gradle的defaultConfig中添加如下代码。
// 用于控制能否在项目中使用矢量图。填写后真机正常运行。
defaultConfig{
vectorDrawables.useSupportLibrary = true
}
6. 开发者后台配置。(这里踩坑)
坑点:如果快捷方法在android studio右上角点击后没有signingReport。就在android studio的终端输入命令keytool -list -v -keystore mykey.jks,即可解决。注意输入密码时没有显示是正常表现!!!
欲哭无泪点
??我这离线打包过程中出现问题无非就是配置。暂且可以粗浅的认为只要用到的依赖正常下载安装,拥有正确的版本,可以躲避很多BUG。