使用run-as命令在Samsung 4.4.2“包未知”上调试本机应用程序

时间:2014-08-06 11:48:50

标签: android

在尝试通过Galaxy S4上的Eclipse调试Android本机应用程序时,我得到一个"包未知" run-as命令出错。

有一个开放的issue at code.google.com,表明它与/data/system/packages.list文件的权限相关的问题必须是rw-rw--r,而不是is rw-rw---- 1}}。因此,建议的解决方案是根电话并更改权限。 我'已经根据手机将packages.list文件的权限更改为rw-rw--r,但是当我开始" Debug作为本机应用程序"从eclipse权限更改回rw-rw-------

我该如何解决这个问题?即使手机已植根,我是否必须闪回固件?

1 个答案:

答案 0 :(得分:2)

在这个问题上我现在已经好几天了。 在撰写本文时,我能够使用Android 4.1.2在三星手机上调试本机代码。然而,搭载Android 4.4.2的三星Galaxy S5不断面对我:

  

gdbserver输出:

     

run-as:Package' x.y.z'未知

     

验证应用程序是否使用NDK_DEBUG = 1构建

作为一个丑陋的"解决方法,似乎可以更改' run-as'的权限。在一个有根的设备上从750到4750;在Windows 7计算机上:

  • 将您的设备与USB连接到主机PC
  • 在主机PC上打开命令提示符
  • 转到Android-sdk文件夹的platform-tools文件夹
  • 执行" adb shell"
  • 在shell中执行" sudo chmod 4750 / system / bin / run-as"

理论上这应该可以解决问题。我无法对此进行测试,因为此刻我还没有设备。 我很高兴看到有人能够真正测试并发布结果。

我发现以下2个与此问题相关的参考文献非常有趣:

  • Android issue 58373,我的外卖是:

    • 谷歌已针对Android 4.4修补此问题。 (参见引用链接的注释#51和#52,它提供了实际的补丁)

    • 三星确实有一个合适的Android版本,并且可能没有包含相应的补丁(请参阅评论#76)(此声明可能需要一些挑战)

  • Samsung forum,我的外卖:

    • 有些人报告已修复,有些人报告说它没有。