You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Expo managed安卓应用添加BILLING权限以实现IAP功能?

Expo SDK 42 Managed工作流Android BILLING权限配置生效方案
  • 修正app.json权限配置层级
    SDK 42版本不识别expo根节点下的permissions配置,必须将Android权限嵌套在android配置块内,正确格式如下:
    {
      "expo": {
        "android": {
          "permissions": ["com.android.vending.BILLING"]
        }
      }
    }
    
  • 清除构建缓存后重新打包
    直接复用旧缓存构建会跳过manifest生成步骤,权限不会更新。使用传统expo build执行命令:
    expo build:android -c
    使用EAS构建执行命令:
    eas build --platform android --clear-cache
  • 验证构建产物权限
    打包完成后可通过aapt工具检查权限是否写入成功,执行命令:
    aapt dump badging <你的安装包路径> | grep "com.android.vending.BILLING"
    有对应输出即为配置生效。
  • 配置自定义插件强制注入权限
    如上述步骤仍无效,可通过配置插件直接修改AndroidManifest.xml。
    1. 项目根目录新建withBillingPermission.js文件,代码如下:
    const { withAndroidManifest } = require('@expo/config-plugins');
    
    module.exports = (config) => {
      return withAndroidManifest(config, (cfg) => {
        cfg.modResults.manifest['uses-permission'] = cfg.modResults.manifest['uses-permission'] || [];
        cfg.modResults.manifest['uses-permission'].push({
          $: { 'android:name': 'com.android.vending.BILLING' }
        });
        return cfg;
      });
    };
    
    1. 在app.json的plugins数组中引入该插件:
    {
      "expo": {
        "plugins": ["./withBillingPermission.js"]
      }
    }
    
    重新清除缓存构建即可。

内容的提问来源于stack exchange,提问作者OmerLevi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:39:00