uni-app 自定义AndroidManifest.xml 云打包后 展示为 android:usesPermissionFlags="0x00010000"
uni-app 自定义AndroidManifest.xml 云打包后 展示为 android:usesPermissionFlags=“0x00010000”
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 11 | HBuilderX |
操作步骤:
- 打包使用自定义
AndroidManifest.xml
文件,增加配置<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
预期结果:
- 云打包后,
AndroidManifest.xml
文件实际展示为<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
- Android 12 及以上机型,蓝牙不申请定位权限就能搜索到设备,
实际结果:
- 云打包后,
AndroidManifest.xml
文件实际展示为<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="0x00010000"
- 不申请定位权限搜不到设备
bug描述:
- 打包使用自定义
AndroidManifest.xml
文件,增加配置<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
- 云打包后,
AndroidManifest.xml
文件实际展示为<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="0x00010000"
更多关于uni-app 自定义AndroidManifest.xml 云打包后 展示为 android:usesPermissionFlags="0x00010000"的实战教程也可以访问 https://www.itying.com/category-93-b0.html
官方怎么看,电脑看还是手机看,一个人回复或者记录工单的都没吗
更多关于uni-app 自定义AndroidManifest.xml 云打包后 展示为 android:usesPermissionFlags="0x00010000"的实战教程也可以访问 https://www.itying.com/category-93-b0.html
连个场面话都不回复下?? 是安卓自定义AndroidManifest.xml 没法做到还是合并清单文件有问题
我也是,配置了AndroidManifest.xml ,云打包后也不给我弹错误,但是就是没办法调试了
在使用 uni-app 进行云打包时,如果你想自定义 AndroidManifest.xml
文件中的某些配置,可能会遇到一些问题,比如你提到的 android:usesPermissionFlags="0x00010000"
展示问题。
问题分析
android:usesPermissionFlags
是 Android 系统中用于指定权限使用标志的属性。0x00010000
是一个十六进制的标志值,通常用于表示某些特定的权限使用方式。
在 uni-app 的云打包过程中,AndroidManifest.xml
文件会自动生成,并且可能会根据 uni-app 的配置和插件生成一些默认的权限和标志。如果你在自定义 AndroidManifest.xml
时没有正确配置,可能会导致某些属性被自动替换为默认值。
解决方案
要解决这个问题,你可以尝试以下几种方法:
1. 使用 manifest.json
进行配置
uni-app 提供了 manifest.json
文件来配置 Android 和 iOS 的打包信息。你可以通过 manifest.json
来配置所需的权限,而不需要直接修改 AndroidManifest.xml
。
{
"android": {
"permissions": [
"android.permission.INTERNET",
"android.permission.ACCESS_FINE_LOCATION"
],
"permissionFlags": {
"android.permission.ACCESS_FINE_LOCATION": "0x00010000"
}
}
}
2. 使用 HBuilderX
的自定义 AndroidManifest.xml
如果你确实需要直接修改 AndroidManifest.xml
,可以在 HBuilderX
中创建一个 nativeplugins
文件夹,并在其中放置自定义的 AndroidManifest.xml
文件。
- 在项目根目录下创建
nativeplugins
文件夹。 - 在
nativeplugins
文件夹中创建AndroidManifest.xml
文件,并添加你需要的配置。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
android:usesPermissionFlags="0x00010000" />
<application
android:name=".MyApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
- 在
manifest.json
中引用这个自定义的AndroidManifest.xml
。
{
"android": {
"customManifest": "nativeplugins/AndroidManifest.xml"
}
}