在尝试通过 Galaxy S4 上的 Eclipse 调试 Android 本机应用程序时,我在 run-as 命令中收到“包未知”错误。
有一个开放的这说明了与许可相关的问题/data/system/packages.list
文件必须是rw-rw--r
,取而代之的是is rw-rw----
。因此,建议的解决方案之一是 root 手机并更改权限。
我已获取手机 root 权限,将 packages.list 文件的权限更改为rw-rw--r
但是当我从 eclipse 启动“作为本机应用程序调试”时,权限将更改回rw-rw-------
.
我该如何解决这个问题?即使手机已root,我也必须刷回固件吗?
我现在也在这个问题上伤透了好几天。
在撰写本文时,我能够在 Android 4.1.2 的三星手机上调试本机代码。然而,搭载 Android 4.4.2 的三星 Galaxy S5 不断给我带来以下问题:
gdb服务器输出:
运行方式:包“x.y.z”未知
验证应用程序是否是使用 NDK_DEBUG=1 构建的
作为一种“丑陋”的解决方法,似乎可以在 root 设备上将“run-as”的权限从 750 更改为 4750;在 Windows 7 计算机上:
- 将您的设备通过 USB 连接到主机 PC
- 在主机 PC 上打开命令提示符
- 进入Android-sdk文件夹的platform-tools文件夹
- 执行“adb shell”
- 在 shell 中,执行“sudo chmod 4750 /system/bin/run-as”
理论上这应该可以解决问题。但是,我无法对此进行测试,因为我目前没有 root 设备。我很高兴看到是否有人可以真正测试这个并发布结果。
我发现以下两篇与这个问题相关的参考文献非常有趣:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)