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

lig*_*igi 48 android adb

在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 Code Online (Sandbox Code Playgroud)

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

rus*_*tyx 65

如果您有SAMSUNG设备,请不要打扰 - 三星打破 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
Run Code Online (Sandbox Code Playgroud)

而不是dd你可以使用abe工具,它也可以编写.ab文件.

  • @Henry在mac上指出[这里](/sf/ask/2088168701/),您可以执行以下命令:`dd if = data.ab bs = 24 skip = 1 | python -c"import zlib,sys; sys.stdout.write(zlib.decompress(sys.stdin.read()))"> data.tar` (4认同)
  • 谢谢,您是救生员。但是`zlib`在我的Mac上不起作用,因此我不得不使用`abe.jar`进行提取。见我的回答/sf/answers/3365390311/ (2认同)

Saa*_*man 13

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

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

<EmbedAssembliesIntoApk>false</EmbedAssembliesIntoApk>
Run Code Online (Sandbox Code Playgroud)

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

<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
Run Code Online (Sandbox Code Playgroud)

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