运行在自己进程上的Android服务能否访问应用程序';s/data/data/<;包装>;文件夹?

运行在自己进程上的Android服务能否访问应用程序';s/data/data/<;包装>;文件夹?,android,native,Android,Native,作为应用程序的一部分,我创建了一个Android服务,它封装了一个本机代码库。Android服务正在自己的进程中运行。 我需要Android服务的本地代码来访问和写入安装文件夹(/data/data/package folder)中的私有数据。 可能吗? 看起来本机代码出现写入访问错误 在同一行中,此服务能否访问位于“/mnt/sdcard/Android/data/”的SD卡目录? 看起来本机代码也出现了访问错误 任何确认都会有帮助 谢谢 eric两个问题:是的 您的服务是应用程序的一部分,其

作为应用程序的一部分,我创建了一个Android服务,它封装了一个本机代码库。Android服务正在自己的进程中运行。 我需要Android服务的本地代码来访问和写入安装文件夹(/data/data/package folder)中的私有数据。 可能吗? 看起来本机代码出现写入访问错误

在同一行中,此服务能否访问位于“/mnt/sdcard/Android/data/”的SD卡目录? 看起来本机代码也出现了访问错误

任何确认都会有帮助

谢谢
eric两个问题:是的

您的服务是应用程序的一部分,其过程与应用程序的活动和其他部分相同。它可以访问应用程序的私人文件夹,正确的决定是:

getPackageManager().getPackageInfo("com.example.app", 0).applicationInfo.dataDir;
如果您在清单中有权限,它还可以写入SD卡:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


您可能错误地认为您的服务与应用程序的其他部分在不同的进程中运行。它仍然是相同的进程,本机代码没有区别。

我之所以说我的Android服务在不同的进程中运行,是因为我在清单中详细说明了它:好吧,那么,另一个进程似乎是可能的。不知道它是否有对访问权限的影响,很可能不会。但为什么要将其放在另一个过程中?