sideload insufficient for android android-studio opensuse cyanogenmod

android - sideload - adb shell insufficient permissions for device



Permisos insuficientes para el dispositivo en Android Studio Workspace que se ejecuta en openSUSE 13.2 (18)

Tengo un Motorola Defy + rooteado que ejecuta una ROM personalizada Cyanogenmod v11 (construcción nocturna) creada por Quarx . Usando Android Studio Workspace, (ASW) v.1.1.0, cuando intento depurar en este dispositivo, obtengo

????????????[null]

enumerado en la ventana Elegir dispositivo , con la ventana Logcat mostrando

insufficient permissions for device

Realmente me gustaría usar este dispositivo y ROM para propósitos de depuración.

Cuando entro en lsusb desde la línea de comando que obtengo,

Bus 002 Device 002: ID 22b8:431d Motorola PCS

Esta es la identificación correcta del dispositivo para las unidades Motorola. He instalado 51-android.rules y 71-android.rules en /etc/udev/rules.d/ con los ID de Motorola correctos en estos archivos.

También probé Revocar la autoridad de depuración USB , desde Developer Options en el dispositivo, sin suerte.

No he intentado ejecutar ASW como root esperando que pueda haber otra opción; ¿esta ahí?

Actualización: pude ingresar y acceder a ADB

uvachem-gsmith2:/home/greg/Android/Sdk/platform-tools # ./adb

Luego hice un servidor kill, hice un SU al usuario root y reinicié el servidor. Luego intenté conectarme al dispositivo desde Android Studio. Recibí un mensaje en el dispositivo acerca de aceptar la clave RSA de la PC, dijo "Sí" y luego pude implementar la aplicación en el dispositivo. Volviendo a mi pregunta original, ¿hay otra forma de acceder a este dispositivo sin iniciar sesión como root? Parece que hay un problema de permiso en el sistema de archivos del teléfono que está evitando esto ...

Actualización n. ° 2 El problema central aquí fue una cuestión de permiso. Aunque ejecutar ADB como root permitirá el acceso al dispositivo Android rooteado , una mejor solución es cambiar los permisos en el archivo udev para este dispositivo ... restableciendo 664 a 666, (vea la respuesta a continuación). Esto permite que la PC acceda al sistema de archivos en el dispositivo.


¡Qué demonios ...! :) Nota: lo he visto en Android 8.1 en un One + 5t ...

Incluso hacemos todo lo anterior, es necesario hacer algo en su dispositivo Android ... además de ir al menú de opciones de desarrollo (depuración usb) (no dude en restablecer "cancelar autorización" o algo así (estoy en versión francesa ;) )

Si algunas personas encuentran el mismo problema que yo, tal vez podría ser útil para usted también: no olvide autorizar dispositivos en su teléfono (cada vez que se conecte usb en el dispositivo Android si no selecciona la casilla siempre). Además, puede suprimir los antiguos dispositivos autorizados en su teléfono y comenzar con el parámetro adecuado para autorizar claramente su PC en su dispositivo Android

Cuando conecta el dispositivo Android, una ventana emergente o una notificación solicitan autorizar una dirección mac o equivalente al dispositivo: autorícela si desea autorizar la conexión entre su PC Linux y su dispositivo Android.

Es necesario obtener la autorización en su dispositivo Android cuando use conectar el cable usb (si no acepta todo el tiempo pero si es la primera vez que aparecerá este cuadro en sus dispositivos) si no lo hace it, los dispositivos adb muestran no autorizados, incluso todos los derechos son buenos (666, UDEV, etc.)

Nota: gracias por tu valiosa ayuda. Una última cosa, perdón por mi inglés


Actualicé mi dispositivo (Nvidia Shield) que anteriormente se estaba conectando bien, así que sabía que la configuración de la PC ya es correcta. La configuración del desarrollador parece tener un nuevo diseño en Android 7.0.

Está en Configuración> Preferencias> Opciones de desarrollador> Redes> Seleccionar configuración USB

Aquí, necesitaba seleccionar PTP y todo vuelve a funcionar bien:


Cambiando los permisos en esta línea de /etc/udev/rules.d/51-android.rules,

#Motorola SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="plugdev"

a,

#Motorola SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"

resuelve este problema de una manera que NO requiere ejecutar adb como root.


Como decía el mensaje de error, es un problema de permiso insuficiente. En mi experiencia, solo sucedió en mi máquina Linux y funciona bien en MacOS y Windows. Iniciar su Android Studio con permiso de root podría evitar este problema.

$sudo /your_android_studio_path/bin/studio.sh


De largo a corto, tuve el mismo problema con una tableta Prestigio PMP5570C ,

todo lo que tiene que hacer es confirmar en su tableta que desea copiar datos a / desde su computadora (lo que olvidé) y agregar las 2 líneas que escribió @portsample.

Puede encontrar el idVendor de su dispositivo escribiendo

lsusb

en UBUNTU 12.04, entonces obtienes:

Bus 001 Dispositivo 011: ID 2207 : 0010,

donde 2207 es su identificación de proveedor. Resumió la pregunta y la respuesta ...


EN mi teléfono Symphony W75 , en la opción Conexión de computadora USB -> seleccionar Conectar como dispositivo de medios (MTP) ha resuelto el problema.


En mi situacion:

cd /etc/udev/rules.d/ sudo chmod a+r ./*.rules #the name of your rules files.

Entonces, puedo usar adb sin este error.



Es sencillo. Simplemente cambie su modo USB al modo Transferencia de archivos y luego funcionará.


Este procedimiento me resuelve el problema:

- On the Android device, drag the top menu and select "USB for file transfer" - Press "Run" again


Hice un script para este error. Para mí funciona bien en Fedora 28, pero debería funcionar en muchas distribuciones de Linux. Simplemente cree un archivo con el contenido del script autoexpandido. Lo llamé usbDebbugingAndroidStudio.sh
Déle permiso de ejecución con: chmod +x usbDebbugingAndroidStudio.sh

Y ejecútelo: sudo ./usbDebbugingAndroidStudio.sh

Después de eso, verifique la lista que muestra el comando lsusb e introduzca el Id. De su dispositivo. Por ejemplo: Mi salida fue: Bus 006 Device 002: ID 05c6:9091 Qualcomm, Inc. Entonces 05c6 y 05c6 enter.

La secuencia de comandos:

#!/usr/bin/env bash #This script configure Android Debug Bridge permissions to solve the following #error: com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device #This error is produced when you try to install an APK from Android Studio in your device. #You can check the vendorId here: #https://developer.android.com/studio/run/device#setting-up #If your device''s brand isn''t listed check the info displayed by the command lsusb lsusb #My output was: #Bus 006 Device 002: ID 05c6:9091 Qualcomm, Inc. #The id for this line is 05c6 echo -n "Enter the id of your mobile device: " read usbProviderId cd /etc/udev/rules.d/ sudo touch 51-android.rules ( sudo cat << _EOF_ SUBSYSTEM=="usb", ATTR{idVendor}=="$usbProviderId", MODE="0666", GROUP="plugdev" _EOF_ ) | sudo tee 51-android.rules #Give read and write permissions to the file sudo chmod a+r /etc/udev/rules.d/51-android.rules #Kill the Android Debug Bridge server to restart it cd $HOME/Android/Sdk/platform-tools sudo ./adb kill-server #If this still doesn''t work unplug the usb cable and connect again. #And repeat the last step Kill the ADB server.


MTP ya no está disponible. En mi Android 8, la opción "Transferir archivos" no funcionaba.

"Transferir fotos PTP" funciona, y Studio mostró el nombre del dispositivo.

Pasos en tu celular

  1. Abre las opciones de desarrollador
  2. Habilitar depuración de USB.
  3. cambiar la conexión USB a PTP

Pasos en Linux

  1. en la consola, ejecute sudo usermod -aG plugdev $LOGNAME

Me he enfrentado al mismo problema y lo resolví agregando la ruta de your_android_sdk_path a la variable de entorno como

sudo export $PATH:/your_android_sdk_path/platform-tools/adb

es su deseo cómo desea agregar esto a su cuenta o sistema editando estos archivos ~/.bashrc o ~/.profile o /etc/profile, /etc/bash.bashrc, or /etc/environment si lo desea para agregar al sistema de acceso amplio.

y luego crea el enlace de eso en bin

sudo ln -s /your_android_sdk_path/platform-tools/adb /bin/adb

si ha utilizado dispositivos adb o algún comando, primero elimine el servidor como

adb kill-server

luego inicie el servidor como

adb start-server adb devices

ahora puede ver que sus dispositivos se enumeran correctamente sin problemas


Para mí y posiblemente para muchos otros, el problema tiene que ver con los derechos de acceso a los dispositivos en la máquina. Ahora que esto está bien documentado en la documentación de Android, creo que la mejor solución está here

En los sistemas basados ​​en Debian, puede ejecutar lsusb o dmesg para obtener la identificación del proveedor si su proveedor no existe en la lista dada


Tuve esto mientras usaba una máquina Linux con un Nexus 4 con Android 5.1

La solución fue habilitar ''depurar a través de USB'' y ''conectarse como MTP''. Sin embargo, sucede lo contrario cuando se usa el mismo dispositivo y Android Studio y adb en OSX: para permitir que Android Studio reconozca el teléfono, necesito deshabilitar ''conectar como MTP''.


Vaya a Opciones de desarrollador -> Configuraciones USB predeterminadas y cambie a PTP

Ejecute estos dos comandos en la terminal

sudo adb kill-server sudo adb start-server

¡Deberia trabajar!


si la respuesta aceptada no funcionó para usted, simplemente siga los pasos: simplemente abra su terminal de estudio de Android: -

adb kill-server

servidor de inicio adb

Funcionó para mí.


  • Habilitar USB debugging
  • Use USB para transer file