如何授予android mediaserver文件写入权限?

如何授予android mediaserver文件写入权限?,android,permissions,android-ndk,Android,Permissions,Android Ndk,我正在开发几个AudioEffect子类,这些子类正在编译成Android 4.0.3 ICS。。。我试图将原始PCM数据转储到文件中,但由于AudioEffects在mediaserver进程的上下文中运行,因此似乎没有可用的文件写入权限 fopen("/data/local/tmp/pcm_in.pcm", "w"); 正在返回空指针,错误13权限被拒绝 您知道我如何授予mediaserver此权限,或者如何写入可以访问的文件夹吗?我正在编译操作系统,所以任何事情都会发生 更具体地说:如何

我正在开发几个AudioEffect子类,这些子类正在编译成Android 4.0.3 ICS。。。我试图将原始PCM数据转储到文件中,但由于AudioEffects在mediaserver进程的上下文中运行,因此似乎没有可用的文件写入权限

fopen("/data/local/tmp/pcm_in.pcm", "w");
正在返回空指针,错误13权限被拒绝

您知道我如何授予mediaserver此权限,或者如何写入可以访问的文件夹吗?我正在编译操作系统,所以任何事情都会发生


更具体地说:如何确定这些本机/系统服务的权限?我想他们没有AndroidManifest.xml…

我怀疑问题在于您没有在/data/local/tmp创建文件的权限。事实上,我甚至不确定Android上是否存在该目录


相反,您应该使用应用程序的专用存储或将文件保存到SD卡。有关更多信息,请参见此链接:

也许您可以创建一个具有权限的文件夹

root@android:/mount -o remount,rw /
root@android:/mkdir test
root@android:/chown media:media test
root@android:/chmod 777 test
然后你可以做任何你想做的事

z、 B


AudioEffects在mediaserver进程中运行,这是本机C代码,所以我只是想授予mediaserver在任何地方写入的权限,我假设tmp文件夹是可用的,它确实存在。@yano所以我只是想授予mediaserver在没有根目录的情况下在任何地方写入的权限这是不可能的,对不起,我的手机是开发手机,所以我有根访问权限。我试图编辑init.rc以以root身份运行它,但由于某些原因,它一直被还原为媒体用户。权限设置在java文件的清单文件中,其中包括somediaserver,它不是APK的一部分,实际上是手机启动时由init.rc启动的本机可执行文件
fopen("/test/pcm_in.pcm", "w");