【问题标题】:run-as: Could not set capabilities: Operation not permittedrun-as:无法设置功能:不允许操作
【发布时间】:2016-09-21 16:08:30
【问题描述】:

在 android 6.0.1 上尝试使用 run-as 时出现此错误。

⋊> ~ adb shell                                                          14:29:01
shell@trlte:/ $ run-as org.ligi.passandroid                                    
run-as: Could not set capabilities: Operation not permitted

我真的很喜欢 run-as 命令 - 有没有办法让它在 6.0.1 上运行?

【问题讨论】:

标签: android adb


【解决方案1】:

如果您有 SAMSUNG 设备,请不要打扰 - SAMSUNG broke run-as 通过删除 setuid 标志(因此 run-as 没有机会切换到不同的身份)。

也不要费心尝试智能开关“重新初始化设备”解决方法,直到 SAMSUNG 在固件中修复它才能工作(因此值得更新到最新版本)。

使用其他方法访问您应用的数据,例如adb backup

adb backup -f data.ab <my.package>
dd if=data.ab  bs=24 skip=1 | openssl zlib -d > data.tar

您可以使用abe 工具代替dd,该工具也可以编写.ab 文件。

【讨论】:

  • 谢谢,你是救生员。但是zlib 在我的Mac 上不起作用,所以我不得不使用abe.jar 进行提取。看我的回答stackoverflow.com/a/48077004/4747587
  • @Henry 正如 here 在 mac 上指出的那样,您可以执行以下命令:dd if=data.ab bs=24 skip=1 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" &gt; data.tar
  • 这对我有用。由于我使用的是 Windows,因此我必须安装 Cygwin 并将您的命令复制到 .sh 中并运行 .sh。它完美无缺。谢谢。
  • 我得到的 dd 不是内部或外部命令
  • 基于此评论,在我从三星设备上卸载我的应用程序后,Visual Studio 无法重新安装和调试,所以我运行了adb uninstall com.companyname.packagename。现在我可以再次调试了。
【解决方案2】:

对我来说,事情是这样的。我正在使用三星 s6 API 24。错误列表日志的详细信息与问题中提到的相同。但是当我检查构建日志时,我发现那里写着解决方案。设置 MSBuild。所以我按照以下步骤解决了这个问题,应用程序成功运行。 为了纠正这个问题,我不得不

从解决方案资源管理器中卸载 Android 项目 右键单击卸载的项目和“编辑项目文件” 搜索“EmbedAssembliesIntoApk”的代码 在项目文件中发现该事件

<EmbedAssembliesIntoApk>false</EmbedAssembliesIntoApk>

将其更改为 true 并重新加载项目。

<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>

运行应用程序,应用程序开始在三星 s6 上运行

【讨论】:

  • 在 Android .csproj 文件中没有看到该行,但添加了“true”行,它适用于我的三星 s5。谢谢!
  • 快乐是我的!
【解决方案3】:

对我来说,解决方案是在参数字段中项目的调试器配置中的参数 -autolaunch。

我在 S7 Edge Android 7 上使用 Delphi 10.2

【讨论】:

  • 已确认。 - 运行中的自动启动-> 参数,从 Delphi 10.1.2 和我的三星 A7 (2017) 开始为我工作。
【解决方案4】:

与此处的另一个答案不同,我也尝试使用智能开关和硬设备重置,但不幸的是,这种方法对我不起作用(浪费了额外的一个小时来尝试这种方法)。除了不工作,它可能会产生额外的问题“三星帐户:会话已过期” - 问题,只有当您对您的设备具有 root 访问权限时才能解决。

我自己使用了这里的说明: https://www.youtube.com/watch?v=Sy4FWLHxGYs

然后从这里开始: https://www.tomsguide.com/us/samsung-galaxy-s6-guide,review-2856-3.html

用于获取设备的 root 访问权限,然后可以使用附加命令“su -c”执行 run-as,就像获取 root 用户一样。所以整个命令将如下所示:

su -c run-as org.ligi.passandroid

警告:如果您有任何剩余,获得设备的 root 访问权限很可能会使您的设备保修失效。

除此之外,我希望能够在三星 Galaxy S6 中调试我的应用程序,因此我更改了 Visual Studio 组件,可以在此处找到更多说明:

https://issuetracker.google.com/issues/37093233#comment53

如果您碰巧拥有基于三星的 Android 设备 - 我已经向三星报告了该错误,但我无法获得任何时间表,如果他们何时以及是否会修复此问题。如果您拥有其他 Android 设备 - 向制造商报告此问题是有意义的。

【讨论】:

    【解决方案5】:

    在 Visual Studio、应用程序属性、Android 选项中,将调试器从 C++ 更改为 .Net(Xamarin) 似乎已经解决了混合 C++/C# 应用程序的问题。

    【讨论】:

      【解决方案6】:

      我在 Delphi 10.1 柏林工作。 我遇到了同样的问题,我的解决方案是将 sdk 配置为以前的版本。 我使用的是 Android SDK 25.2.5.32bit 并降级到 android SDK 24.3.3 32 位。配置:

      工具->环境选项-> SDK管理器

      然后,添加必要的 sdk,在本例中为 android SDK 24.3.3 32 位。

      【讨论】:

      【解决方案7】:

      @RustyX 的回答部分帮助了我。 zlib 在我的 Mac 中不起作用。所以我不得不使用 Android Backup Extractor.ab 文件转换为 .tar 文件。可以here下载。

      如需完整的分步说明,refer here

      【讨论】:

        【解决方案8】:

        我之前在此处发布了一个已删除的答案,可能是因为它是指向另一个 stackoverflow 问题的链接,该链接指的是我在此处给出的答案,而不是包含完整答案。

        https://stackoverflow.com/a/43242739/7823460在这里转发其内容:

        我在三星 Galaxy S6 Edge 上遇到了一个非常相似的问题,试图在 VS2015 上开始调试,我得到了一个不同的错误,比所附屏幕截图中的详细得多:

        run-as:无法设置功能:不允许操作

        根据上面所附屏幕截图的内容,我尝试使用Samsung's Smart Switch“初始化”/恢复设备出厂设置,它实际上解决了我遇到的“运行方式”问题。

        这是唯一有效且不涉及对设备进行生根的解决方案,因此我相信它必须是公开的。当然,尝试这样做的人应该记住,恢复出厂设置意味着数据将丢失,除非它被备份。相同的三星软件有助于备份您的数据。

        【讨论】:

        • 你能解释一下“根据上面所附屏幕截图的内容,我尝试使用三星的智能开关‘初始化’/出厂重置设备,它实际上修复了‘运行方式’是什么意思吗? ’我遇到的问题。”我已经安装了三星的智能开关,但在那里甚至没有看到恢复出厂设置的选项,看起来只是将文件从一台设备传输到另一台设备......
        • 打开智能开关,点击“更多”,选择“紧急软件恢复与初始化”
        • 尝试执行硬重置,花了 30 分钟 - 1 小时,但问题仍然存在。请问你自己试过了吗?
        • 我使用上面发布的步骤在我自己的设备上解决了这个问题。硬重置到底是什么意思?硬重置与出厂重置和初始化具有不同的含义。
        • 不适用于 Galaxy S7。 Smart Switch 提示“SM-G930A 不支持初始化。”
        猜你喜欢
        • 2023-03-27
        • 2020-12-22
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        • 2020-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多