studio programacion herramientas fundamentos crear con avanzado aplicaciones android adb

android - programacion - run-as: no se pudieron establecer las capacidades: operación no permitida



manual android studio avanzado (6)

en Android 6.0.1 Estoy obteniendo este error cuando trato de usar run-as.

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

Me gusta mucho el comando ejecutar como: ¿hay alguna manera de hacerlo funcionar en 6.0.1?


A diferencia de otra respuesta aquí, también he intentado utilizar el cambio inteligente y el restablecimiento de dispositivos duros, pero desafortunadamente ese enfoque no funcionó para mí (perdí más de una hora solo para probar ese enfoque). Además de no funcionar, podría crearse un problema adicional "cuenta de Samsung: sesión expirada": problema, que puede corregirse solo si tiene acceso de administrador a su dispositivo.

Yo solo he usado las instrucciones desde aquí: https://www.youtube.com/watch?v=Sy4FWLHxGYs

y luego desde aquí: https://www.tomsguide.com/us/samsung-galaxy-s6-guide,review-2856-3.html

para obtener acceso a la raíz de su dispositivo, y después de esa ejecución, como se puede ejecutar con el comando adicional "su-c" como para obtener usuario root. Así que todo el comando se verá así:

su -c run-as org.ligi.passandroid

ADVERTENCIA : Obtener acceso de administrador a su dispositivo probablemente anulará la garantía de su dispositivo si le queda algo.

Además de esto, quería poder depurar mi aplicación dentro de Samsung Galaxy S6, así que he alterado los componentes de Visual Studio, aquí se pueden encontrar más instrucciones:

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

Si tiene un dispositivo Android basado en Samsung, ya le informé de ese error a Samsung, pero no pude obtener un cronograma si es que van a solucionar el problema. Si posee algún otro dispositivo Android, tiene sentido informar este problema al fabricante.


Anteriormente había publicado una respuesta que se eliminó, tal vez porque era un enlace a otra pregunta de que se refería a la respuesta que di allí, en lugar de contener la respuesta completa.

Reposicionando su contenido aquí desde https://.com/a/43242739/7823460 :

Tuve un problema muy similar en Samsung Galaxy S6 Edge, tratando de iniciar la depuración en VS2015, recibí un error diferente, mucho menos detallado que en la captura de pantalla adjunta:

run-as: no se pudieron establecer las capacidades: operación no permitida

Basándome en el contenido de la captura de pantalla adjunta, intenté "inicializar" / restablecer el dispositivo de fábrica utilizando el Smart Switch de Samsung y realmente solucionó el problema de "ejecutar como" que estaba teniendo.

Esta es la única solución que funcionó y no implicó rootear el dispositivo, por lo que creo que debe estar a disposición del público. Por supuesto, las personas que lo intenten deben tener en cuenta que el restablecimiento de fábrica significa que los datos se perderán, a menos que estén respaldados. El mismo software de Samsung ayuda con la copia de seguridad de sus datos.


En Visual Studio, Propiedades de la aplicación, Opciones de Android, cambiar el depurador de C ++ a .Net (Xamarin) parece haber solucionado el problema de una aplicación mixta de C ++ / C #.


La respuesta de @RustyX me ayudó parcialmente. zlib no funcionó en mi Mac. Así que tuve que usar Android Backup Extractor para convertir archivos .ab a archivos .tar . Puedes descargarlo here .

Para obtener la instrucción paso a paso completa, .com/a/48077004/4747587 .


La solución para mí fue el parámetro -autolaunch en la configuración del depurador del proyecto en el campo Parámetros.

Yo uso Delphi 10.2 con S7 Edge Android 7


Si tiene un dispositivo SAMSUNG , no se moleste: SAMSUNG se code.google.com/p/android/issues/detail?id=206581#c4 run-as al dejar caer la bandera de setuid (por lo que se run-as no hay posibilidad de cambiar a una identidad diferente).

Además, no se moleste en intentar la solución de "reiniciar el dispositivo" de Smart Switch, no funcionará hasta que SAMSUNG lo solucione en el firmware (por lo que vale la pena actualizarlo a la última versión).

Utilice algún otro método para acceder a los datos de su aplicación, como la adb backup :

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

En lugar de dd puede usar la herramienta abe , que también puede escribir archivos .ab.