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。  

5. 运行项目

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

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

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

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

 

欲哭无泪点

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

相关