一、前置配置
-
Uniapp通过都是通过云打包的方式打包或生成自定义基座,但都需要排队。 -
所以有些人选择离线打包,既然可以离线打包,那么离线打个基座也是可以的,而且离线自定义基座支持
uniapp与android studio两个工具上同时联调或打断点调试。 -
根据 # Uniapp Android 本地离线打包(详细流程) 配置好离线打包,跑通流程后,在这个基础上稍微做下调整即可。
二、离线打包基座配置
-
根据官方文档自定义基座要求,需要对
dcloud_control.xml进行调整,这样可以看到调试日志。<hbuilder debug="true" syncDebug="true"> <apps> <app appid="__UNI__E9196C5" appver=""/> </apps> </hbuilder> -
添加
debug-server-release.aar到libs目录下,到哪里找debug-server-release.aar? 下载了Uniapp离线包后解压后,里面会有一个SDK/libs文件夹,就在这里面,找一下即可: -
找到就拖进来,等需要打正式包的时候记得移除这次加的配置跟包:
-
然后需要到
build.gradle中添加一下okhttp3的依赖dependencies { implementation "com.alibaba:fastjson:1.2.83" implementation "com.squareup.okhttp3:okhttp:3.12.12" } -
版本号必须要保持一致哦,要不然可能会出问题,如果有修改需要重新打包一份,拷贝过去使用。
-
选一种方式生成
基座 apk注意:需要
Android Studio打包的时候,记得先通过工具栏的Build -> 先 Clean Project -> 再 Rebuild Project -> 最后在打包或运行(两种方式选一种就行),生成基座或者测试离线包都适用这套流程。 -
然后到
uniapp项目得根目录新建一个unpackage文件夹,在里面再建一个debug文件夹,将这个
基座 apk拷贝出来丢到debug文件夹内,同时必须基座 apk文件名改为android_debug.apk,这个名字是固定必须的,不要写错-与_,博主就因为写错了没生效,找了好久才发现这个智障问题。 -
然后勾选上手机或模拟器,选择自定义基座就可以使用了
-
HbuilderX运行基座后,Android Studio也运行或进入调试后,两个工具可以同时进行操作运行中的自定义基座内容也是会热更新的,两边工具都可以进行断点之类的调试。 -
细节补充:使用了
本地插件或云插件的工程,不能使用离线自定义基座,包括离线打包,只能走云打包或云基座才能生效。因为使用了会导致这些
插件失去效果,这个是个官方bug,忍不住吐槽一下,这样离线基座或离线打包不是算半残废,期望官方能修复这个问题。