【发布时间】:2012-12-14 13:49:00
【问题描述】:
我在市场上有一个 android 应用程序,我的一个用户报告了一个其他人没有遇到过的问题(至少据我所知)。他们告诉我他们做了什么,他们使用了什么设置以及他们正在使用的 android 版本,所以我试图尽可能多地复制它。
我在更新之前安装了原始应用程序(当一切正常时),并按照用户所说的方式进行设置。然后我进入外壳并进入/data/data/com.mycompany.myapp/并检查databases和shared_prefs文件夹以检查所有权,两个文件都设置为,用户和组都设置为app_36 .然后我将所有内容拉到我的开发 PC 上,这样我就有了数据库和 prefs 文件。
然后我卸载了原来的应用程序并使用adb installcom.mycompany.myappI 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。
如何更改用户和组,以便我可以复制文件并复制我的用户遇到的问题。
感谢您提供的任何帮助。
【问题讨论】:
-
我会删除原始的 prefs.xml 文件并用用户的文件替换它。您也可以在 Eclipse 或 sdk/tools 文件夹中通过 DDMS 编辑文件系统。