Uniapp Android 离线生成自定义基座(详细流程)

2,436 阅读2分钟

一、前置配置

  • Uniapp 通过都是通过 云打包 的方式打包或生成自定义基座,但都需要排队。

  • 所以有些人选择离线打包,既然可以离线打包,那么离线打个基座也是可以的,而且离线自定义基座支持 uniappandroid studio 两个工具上同时联调或打断点调试。

  • 根据 # Uniapp Android 本地离线打包(详细流程) 配置好离线打包,跑通流程后,在这个基础上稍微做下调整即可。

二、离线打包基座配置

  • 根据官方文档自定义基座要求,需要对 dcloud_control.xml 进行调整,这样可以看到调试日志。

     <hbuilder debug="true" syncDebug="true">
     <apps>
         <app appid="__UNI__E9196C5" appver=""/>
     </apps>
     </hbuilder>
    

    image.png

    image.png

  • 添加 debug-server-release.aarlibs 目录下,到哪里找 debug-server-release.aar? 下载了 Uniapp 离线包后解压后,里面会有一个 SDK/libs 文件夹,就在这里面,找一下即可:

    image.png

  • 找到就拖进来,等需要打正式包的时候记得移除这次加的配置跟包:

    image.png

  • 然后需要到 build.gradle 中添加一下 okhttp3 的依赖

    dependencies {  
        implementation "com.alibaba:fastjson:1.2.83"  
        implementation "com.squareup.okhttp3:okhttp:3.12.12"  
    }
    

    image.png

  • 版本号必须要保持一致哦,要不然可能会出问题,如果有修改需要重新打包一份,拷贝过去使用。

    image.png

  • 选一种方式生成 基座 apk

    注意:需要 Android Studio 打包的时候,记得先通过工具栏的 Build -> 先 Clean Project -> 再 Rebuild Project -> 最后在打包或运行(两种方式选一种就行),生成基座或者测试离线包都适用这套流程。

    image.png

    image.png

  • 然后到 uniapp 项目得根目录新建一个 unpackage 文件夹,在里面再建一个 debug 文件夹,

    将这个 基座 apk 拷贝出来丢到 debug 文件夹内,同时必须 基座 apk 文件名改为 android_debug.apk,这个名字是固定必须的,不要写错 -_,博主就因为写错了没生效,找了好久才发现这个智障问题。

    image.png

  • 然后勾选上手机或模拟器,选择自定义基座就可以使用了

    image.png

    image.png

  • HbuilderX 运行基座后,Android Studio 也运行或进入调试后,两个工具可以同时进行操作运行中的 自定义基座 内容也是会热更新的,两边工具都可以进行断点之类的调试。

  • 细节补充:使用了 本地插件云插件 的工程,不能使用离线自定义基座,包括离线打包,只能走 云打包或云基座 才能生效。

    因为使用了会导致这些 插件 失去效果,这个是个官方 bug,忍不住吐槽一下,这样 离线基座离线打包 不是算半残废,期望官方能修复这个问题。