DCloud_Android_ST
DCloud_Android_ST
  • 发布:2019-03-16 19:42
  • 更新:2023-07-31 13:56
  • 阅读:32466

针对plus.runtime.install在安卓9.0+上无法执行的解决方案

分类:HTML5+

先确保你的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的能力。

离线打包配置

  1. 将build.gradle中的targetSdkVersion调到26或者更高。

  2. 在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>  
  3. 在Androidmanifest.xml中添加权限。
    注:最新版SDK已经将权限加入基础库里面使用时请下载最新版SDK

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>  

配置完权限请重新编译生成APK。该APK才有调用plus.runtime.install安装APK的能力。

13 关注 分享
choin 罪途 i***@qq.com 花鸟风月 r***@163.com 我要了明天 天空微算 l***@126.com 小花瓶 l***@qq.com 2***@qq.com 1***@test.com 8***@qq.com

要回复文章请先登录注册

DCloud_Android_ST

DCloud_Android_ST (作者)

回复 8***@qq.com :
离线打包还是在线打包 请把有问题的APK发一下
2019-04-23 15:01
8***@qq.com

8***@qq.com

HBuilderX 版本号:1.9.2.20190417 还是有这个问题呢?设置了targetSdkVersion 为25, 28 在Android9真机上都不行
2019-04-23 14:56
薄荷味的雪

薄荷味的雪

android9.0真机,targetSdkVersion 28执行安装无反应,targetSdkVersion改为25没问题,为啥啊?
2019-04-22 15:07
JayGoo

JayGoo

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
这个是报错,看了下你们的源码,少加了这个flag
2019-04-16 12:54
JayGoo

JayGoo

android9.0 targetSdkVersion 28执行安装无反应,不是修好了吗?怎么又坏了?
2019-04-16 12:49
4***@qq.com

4***@qq.com

回复 4***@qq.com :
targetSdkVersion 28
2019-04-04 10:39
4***@qq.com

4***@qq.com

HbuilderX1.8.2离线打包plus.runtime.install根本没反应,直接执行安装成功的回调函数。安卓版本8.1.0
2019-04-04 10:38
6***@qq.com

6***@qq.com

我使用群测最新版1.7.1在线云打包。打包后plus.runtime.install不弹出安装,我将targetSdkVersion改为23,24,25,26后都能弹出,但是调用plus.video.LivePusher闪退,将targetSdkVersion21,直播好了,plus.runtime.install不弹出安装
2019-03-27 15:56
6***@qq.com

6***@qq.com

回复 DCloud_Android_ST :
哦,好的,意思是HBuilder淘汰不更新了吗?还是说只需要打包的时候用HBuilderX?
2019-03-22 11:33
DCloud_Android_ST

DCloud_Android_ST (作者)

回复 6***@qq.com :
IDE是HBuilderX 吗 不是请使用HBuilderX试下
2019-03-22 11:23