uniapp离线打包

离线打包前必要准备:

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。
 

最后更改build.gradle文件配置即可。

5. 运行项目

连接手机后先同步再运行。

报错解决:在build.gradle的defaultConfig中添加如下代码。
// 用于控制能否在项目中使用矢量图。填写后真机正常运行。
defaultConfig{  
   vectorDrawables.useSupportLibrary = true  
}

 

6. 开发者后台配置。(这里踩坑)

坑点:如果快捷方法在android studio右上角点击后没有signingReport。就在android studio的终端输入命令keytool -list -v -keystore mykey.jks,即可解决。注意输入密码时没有显示是正常表现!!!

包名从build.gradle复制,SHA1从上图方法复制。得到App Key后我们粘贴进AndroidManifest.xml中。

 

欲哭无泪点

  我这离线打包过程中出现问题无非就是配置。暂且可以粗浅的认为只要用到的依赖正常下载安装,拥有正确的版本,可以躲避很多BUG。

posted @ 2022-04-10 11:29  围城FE  阅读(489)  评论(0编辑  收藏  举报