针对plus.runtime.install在安卓9.0+上无法执行的解决方案
先确保你的IDE使用的是HBuilderX, 老HBuilder用户请升级HBuilderX。
云打包配置
云打包时配置manifest.json将targetSdkVersion改为26或更高 最高建议28。
5+应用:
http://ask.dcloud.net.cn/article/94
uniapp:
https://uniapp.dcloud.io/collocation/manifest
如果提交云端打包后调用plus.runtime.install无法安装apk文件,请添加以下权限
<uses-permission android:name=\"android.permission.INSTALL_PACKAGES\"/>
<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>
如何添加权限?可参考。
TIPS
云打包配置修改完毕后。请重新提交云端打包。生成你的APK,该APK才有调用plus.runtime.install安装APK的能力。
离线打包配置
-
将build.gradle中的targetSdkVersion调到26或者更高。
-
在Androidmanifest.xml添加provider节点,将里面的io.dcloud.HBuilder改成自己应用的包名。
<provider android:name="io.dcloud.common.util.DCloud_FileProvider" android:authorities="XXXX.XXX.XX(当前的应用包名).dc.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/dcloud_file_provider" /> </provider>
-
在Androidmanifest.xml中添加权限。
注:最新版SDK已经将权限加入基础库里面使用时请下载最新版SDK<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
配置完权限请重新编译生成APK。该APK才有调用plus.runtime.install安装APK的能力。
问答
THE END
二维码