uniapp按照官方《针对plus.runtime.install在安卓9.0+上无法执行的解决方案》处理后报错:安装包解析错误
uniapp版本升级时,使用plus.runtime.install真机连接调试的时候没有问题,可以正常安装离线打包后可以下载,却不可以安装,官方给的解决办法是:《针对plus.runtime.install在安卓9.0+上无法执行的解决方案》离线打包配置将build.gradle中的targetSdkVersion调到26或者更高。(我调到28)在Androidmanifest.xml添加pro
·
uniapp版本升级时,使用plus.runtime.install
真机连接调试的时候没有问题,可以正常安装
离线打包后可以下载,却不可以安装,
官方给的解决办法是:《针对plus.runtime.install在安卓9.0+上无法执行的解决方案》
离线打包配置
-
将build.gradle中的targetSdkVersion调到26或者更高。(我调到28)
-
在Androidmanifest.xml添加provider节点,将里面的XXXX.XXX.XX(当前的应用包名)改成自己应用的包名。(自己应用的包名即applicationId的值)(provider添加在application节点内,与activity节点同级)
<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"/>
error:按照官方办法,打包后安装,报:解析错误
我的应用里面有使用到地图定位,所以我有添加地图的相关元数据和服务,我把provider节点放在地图节点后的时候(如下图),运行生成的安装包报错:解析错误,无法安装安装包。
<!-- Maps(地图) begin -->
<!--调试版-->
<!--<meta-data android:name="com.amap.api.v2.apikey"-->
<!--android:value="XXXX"/>-->
<!--发布版-->
<meta-data android:name="com.amap.api.v2.apikey"
android:value="XXXXX"/>
<service android:name="com.amap.api.location.APSService" />
<!-- Maps(地图) end -->
<!-- provider放在地图下面时安装报错:解析错误 -->
<!-- 但是将provider放在地图上面时可以安装,不知道为什么 -->
<!-- 针对plus.runtime.install在安卓9.0+上无法执行的解决方案 begin -->
<provider
android:name="io.dcloud.common.util.DCloud_FileProvider"
android:authorities="我的包名.dc.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/dcloud_file_provider" />
</provider>
<!-- 针对plus.runtime.install在安卓9.0+上无法执行的解决方案 end -->
当我把provider节点放在地图节点上面的时候,安装包可以安装,不再报错,我不知道为什么。
更多推荐
已为社区贡献9条内容
所有评论(0)