Expo 使用配置插件从 android 清单中删除权限
Expo Removing Permission from android manifest with config plugin
我正在使用 config plugin 修改具有 expo 托管构建的应用中的内容 AndroidManifest
。
但看起来它什么也没做。
这是我的 app.config.js
import { AndroidConfig, withAndroidManifest } from "@expo/config-plugins";
const {
} = AndroidConfig.Manifest;
const {
removePermissions,
} = AndroidConfig.Permissions;
const withCustomConfig = (config) => {
config.name = "NEWNAME"
return withAndroidManifest(config, async (config) => {
config.modResults = await setCustomConfigAsync3(config, config.modResults);
return config;
});
};
async function setCustomConfigAsync3(config, androidManifest) {
removePermissions(androidManifest,["android.permission.SYSTEM_ALERT_WINDOW"])
return androidManifest
}
const config = {
name: "TEST",
plugins : [[withCustomConfig]],
slug: "TEST",
...
}
export default config;
它创建了一个名为 NEWNAME
的包,这意味着插件被调用,但 withAndroidManifest
的操作中没有任何内容被调用。我还尝试更改 AndroidManifest
的其他道具,例如 meta-data
但那里没有任何效果
我正在使用 expo build:android
创建 apk。
有人知道这段代码有什么问题吗?
谢谢。
插件主要用于 expo prebuild
(它生成 android 和 ios 文件夹,可以使用 Android Studio 和 Xcode与使用您自己的硬件的任何其他 Android 或 iOS 应用一样)或 eas build
命令
您不能将插件与 expo build
一起使用
参考:
我正在使用 config plugin 修改具有 expo 托管构建的应用中的内容 AndroidManifest
。
但看起来它什么也没做。
这是我的 app.config.js
import { AndroidConfig, withAndroidManifest } from "@expo/config-plugins";
const {
} = AndroidConfig.Manifest;
const {
removePermissions,
} = AndroidConfig.Permissions;
const withCustomConfig = (config) => {
config.name = "NEWNAME"
return withAndroidManifest(config, async (config) => {
config.modResults = await setCustomConfigAsync3(config, config.modResults);
return config;
});
};
async function setCustomConfigAsync3(config, androidManifest) {
removePermissions(androidManifest,["android.permission.SYSTEM_ALERT_WINDOW"])
return androidManifest
}
const config = {
name: "TEST",
plugins : [[withCustomConfig]],
slug: "TEST",
...
}
export default config;
它创建了一个名为 NEWNAME
的包,这意味着插件被调用,但 withAndroidManifest
的操作中没有任何内容被调用。我还尝试更改 AndroidManifest
的其他道具,例如 meta-data
但那里没有任何效果
我正在使用 expo build:android
创建 apk。
有人知道这段代码有什么问题吗? 谢谢。
插件主要用于 expo prebuild
(它生成 android 和 ios 文件夹,可以使用 Android Studio 和 Xcode与使用您自己的硬件的任何其他 Android 或 iOS 应用一样)或 eas build
命令
您不能将插件与 expo build
参考: