uni-app 适配安卓12

uni-app 适配安卓12

操作步骤:

  • 直接访问,不能进入

预期结果:

  • 能进入APP

实际结果:

  • 直接访问,不能进入

bug描述:

  • oppo开发者官网题型,我们的uniapp不支持安卓12,请问这个要怎么解决?
信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Windows
PC操作系统版本 win7
HBuilderX类型 正式
HBuilderX版本 3.2.11
手机系统 Android
手机系统版本 Android 12
手机厂商 OPPO
手机机型 11
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX
App下载地址 建教帮APP

更多关于uni-app 适配安卓12的实战教程也可以访问 https://www.itying.com/category-93-b0.html

11 回复

apk链接发下

更多关于uni-app 适配安卓12的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在oppo的安卓12机型上面,进入就弹出来。这个月还不兼容他们的12机型就要被下线了,麻烦帮忙看看。感谢。

回复 2***@qq.com: 你这个apk也不是用我们的产品生产的包呀

回复 DCloud_Android_ST: 是用uniapp开发的哟,我在豌豆荚里面获取的APK下载地址,你可以在任意一个官网都能下载《建教帮》

回复 2***@qq.com: 你重新用HX云打包一个,然后告诉我appid

回复 DCloud_Android_ST: 你看看最后一次打包记录就是最后的,APPID:UNIAB194B6

回复 DCloud_Android_ST: 注意一下APPID的UNI前后有双下划线,被编辑框给清除了。

回复 2***@qq.com: 我这边使用Pixel 3a android12设备可以正常运行jjb_2.7.17这个apk

针对您提到的“uni-app不支持安卓12”问题,这通常是由于Android 12(API 31)引入了新的隐私和安全策略,而应用未适配导致的。以下是具体原因和解决方案:

主要原因

  1. Android 12的隐私变更:从Android 12开始,系统对应用启动组件(如Activity、Service)的可见性进行了限制。如果应用未显式声明android:exported属性,或未适配新的启动组件规则,可能导致应用无法正常启动。
  2. OPPO等厂商的定制系统:部分厂商(如OPPO)会提前或更严格地执行Android新版本的策略,导致兼容性问题更早暴露。

解决方案

1. 更新HBuilderX和SDK版本

  • 将HBuilderX升级到最新稳定版(当前为3.6+),旧版本可能未包含Android 12的适配配置。
  • 在HBuilderX中更新Android平台SDK:
    点击菜单栏【工具】→【插件安装】→【Android平台SDK】,确保使用最新SDK(推荐API 31+)。

2. 配置Android 12适配项

在项目的manifest.json文件中,添加以下配置:

{
  "app-plus": {
    "android": {
      "targetSdkVersion": 31, // 必须设置为31或更高
      "permissionExternalStorage": {
        "request": "none" // 如果不需要外部存储权限,可关闭以减少权限弹窗
      }
    }
  }
}
  • 注意:如果应用用到蓝牙、Wi-Fi等敏感权限,需在Android 12中动态申请新增加的精确位置权限(ACCESS_FINE_LOCATION)。

3. 检查并声明组件导出属性

  • 如果应用使用Service、BroadcastReceiver等组件,需在原生配置中显式设置android:exported属性。
  • 对于uni-app云打包,可在manifest.json的【App模块配置】中检查相关模块(如推送、蓝牙)的说明,确保其支持Android 12。

4. 处理启动页面兼容性

  • 确保应用的首个启动Activity在AndroidManifest.xml中正确声明。uni-app默认已处理,但若自定义了原生代码,需确认以下配置:
    <activity
        android:name="io.dcloud.PandoraEntry"
        android:exported="true"> <!-- 必须为true -->
    </activity>
回到顶部