5

我在市场上有一个 android 应用程序,我的一个用户报告了一个其他人没有遇到过的问题(至少据我所知)。他们告诉我他们做了什么,他们使用了什么设置以及他们正在使用的 android 版本,所以我试图尽可能多地复制它。

我在更新之前安装了原始应用程序(当一切正常时),并以与用户所说的相同的方式进行设置。然后我进入 shell 并/data/data/com.mycompany.myapp/检查databasesandshared_prefs文件夹以检查所有权,两个文件都设置为,用户和组都设置为app_36. 然后,我将所有内容拉到我的开发 PC 上,这样我就有了数据库和 prefs 文件。

然后我卸载了原始版本并使用adb installcom.mycompany.myapp I then upload the databases and prefs file usingadb push`` 安装了新版本的应用程序,然后使用 adb shell 查看了文件的权限,可以看到它们现在归 root 所有,所以应用程序无法访问那些文件。然后我尝试从 adb shell 执行以下操作:

adb shell
cd com.mycompany.myapp/shared_prefs
chown app_36:app_36 prefs.xml

这将在普通 linux 中工作,将用户和组更改为 app_36,但它说没有用户 app_36:app_36。但是,如果我执行 chown app_36 prefs.xml 它会更改所有者,但我无法更改组。

要更改我使用 chgrp app_36 prefs.xml 的组,但它会说 chgrp not found。

如何更改用户和组,以便我可以复制文件并复制我的用户遇到的问题。

感谢您的任何帮助,您可以提供。

4

1 回答 1

9

使用点作为分隔符:

chown app_36.app_36 prefs.xml
于 2012-12-29T18:21:31.640 回答