从3.6.2到3.6.3自定义android基座总是有问题,各种提问题也解决不了问题,无奈只有自己去看下插件源码。
1、自定义基座版本问题:
最新插件会获取基座 assets/data/dcloud_control.xml的version值,
改成下面的就可以了:
<hbuilder debug="true" syncDebug="true" version="1.9.9.81501">
2、同步资源失败问题:
提示语:同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示
这个纯粹是扯的。
问题在这,插件源码AndroidLaucher.js中:
if (mClientID != "") {
mRet = this.pushResources(mPackagePath, true, bHasUtsFile);
this.setRunningState(ILauncher_1.Pub_DeviceRunState.state_Running);
clearInterval(mTimmer);
}
mClientID这个值是在wifiServer.js中saveClientInfo方法中获取,看完逻辑这个mClientID永远为空,
所以根本不会执行同步资源这个方法。
4 个回复
l***@sohu.com (作者) - 中年大叔,啥都会一点,技术偏执。目前从事Android系统开发、linux以及驱动开发。
麻烦大佬们尽快解决下。
4***@qq.com - 小前端
同样的问题~
l***@sohu.com (作者) - 中年大叔,啥都会一点,技术偏执。目前从事Android系统开发、linux以及驱动开发。
经过和官方技术qq沟通确认,不是打包插件的问题,初始化逻辑不在js代码中,在c++中调用。
刚才跑了下AndroidStudio发现底层报错了,少了okhttp3依赖。
于是问题2这样可以解决:
在打包基座app的时候,加入okhttp3依赖:
暂时还没发现别的问题,心急的朋友们,可以尝试修改下使用3.6.3。
twolf
加入你说的依赖就可以了吗?就不会出现“同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示”?
2022-09-21 10:53
5***@qq.com
回复 twolf: 我按这样改了也不行.
2022-09-21 11:49
l***@sohu.com (作者)
回复 5***@qq.com: 用最新版的离线sdk debug-server-release.aar
2022-09-21 12:07
9***@qq.com
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
在build.gradle添加了这个依赖还是无法解决问题