android 11 自定义基座无法运行,请求的页面无法打开 HbuliderX 3.95

android 11 自定义基座无法运行,请求的页面无法打开 HbuliderX 3.95

开发环境 版本号 项目创建方式
Windows win11 HBuilderX

产品分类:
uniapp/App

PC开发环境操作系统:
Windows

HBuilderX类型:
正式

HBuilderX版本号:
3.95

手机系统:
Android

手机系统版本号:
Android 11

手机厂商:
RK3566开发板

手机机型:
RK3566

页面类型:
vue

vue版本:
vue2

打包方式:
云端

bug描述:
请求的页面无法打开:file:///storage/emulated/0/Android/data/com.woquapps.meiershi/apps/UNI9383754/www/__uniappview.html at file:///android_asset/data/dcloud_error.html:41
查看 /storage/emulated/0/Android/data 下目录为空,设备已ROOT
根据日志显示是在/storage/emulated/0/Android/data 目录下创建文件失败导致的,通过adb shell 进入命令行 手动创建了一个基座包名的文件夹,重新运行就可以正常调试。
adb 日志在附件

图片
logcat日志.txt


4 回复

@DCloud_Android_ST @DCloud_Android_DQQ @DCloud_Android_YJC 有官方可以关注一下这个问题么?


我看了https://ask.dcloud.net.cn/article/id-36199__page-7 适配Android10+设备注意事项 ,里面提到沙盒机制,但是自定义基座文件的创建不是通过adb 来完成的么,为何会没有权限写入这个路径的?况且设备已经root了,而手动通过adb shell 去创建目录又能正常运行

解决了吗楼主,同样的问题

在 HBuilderX 3.95 中,如果你在 Android 11 设备上运行自定义基座时遇到“请求的页面无法打开”的问题,可能是由于以下原因导致的。以下是一些可能的解决方案:

1. 确保权限正确配置

  • 网络权限:确保你的应用已经正确配置了网络权限。在 AndroidManifest.xml 中添加以下权限:
    <uses-permission android:name="android.permission.INTERNET" />
    
  • 存储权限:如果你需要访问设备的存储空间,确保你已经在 AndroidManifest.xml 中添加了存储权限,并且已经在运行时请求了这些权限。

2. 检查自定义基座配置

  • Base URL 配置:确保你在自定义基座中配置的 baseUrl 是正确的,并且指向了正确的服务器地址。
  • H5+ API 版本:确保你使用的 H5+ API 版本与你的项目兼容,特别是如果你在 Android 11 上运行。

3. Android 11 的存储权限变更

  • Scoped Storage:Android 11 引入了 Scoped Storage,这可能会影响应用对文件系统的访问。确保你的应用已经适配了 Scoped Storage,或者你可以在 AndroidManifest.xml 中添加以下配置来暂时禁用 Scoped Storage:
    <application
        android:requestLegacyExternalStorage="true"
        ... >
    </application>
回到顶部