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

如何为使用cargo apk构建的Rust Android应用声明自定义权限(com.oculus.feature.PASSTHROUGH)

如何为使用cargo apk构建的Rust Android应用声明自定义权限(com.oculus.feature.PASSTHROUGH)

我有一个Rust应用,使用cargo apk build为Android编译。我想让AndroidManifest.xml中包含以下权限声明:

<uses-permission
      android:name="com.oculus.feature.PASSTHROUGH"
      android:required="true"
      />

但我所有的尝试都失败了。

Stackoverflow的AI建议在我的Cargo.toml中添加:

[package.metadata.android]
permissions = [
    "com.oculus.feature.PASSTHROUGH"
]

但这并不奏效。我还尝试过:

[[package.metadata.android.uses-permission]]
name = "com.oculus.feature.PASSTHROUGH"
required = "false"

以及:

[[package.metadata.android.uses-permission]]
"android:name" = "com.oculus.feature.PASSTHROUGH"
required = "false"

(最后这个是基于修改cargo-apk源码,派生serde::Serialize并输出修改后的清单来查看效果的尝试)

cargo-apk附带的所有示例都没有展示如何声明权限。

我注意到ndk-build的AndroidManifest结构体中有一个字段:

#[serde(rename(serialize = "uses-permission"))]
#[serde(default)]
pub uses_permission: Vec<Permission>,

请问正确的配置方式是什么,才能让我的应用获得所需的权限?

备注:内容来源于stack exchange,提问作者Mutant Bob

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 18:07:58