¿Cómo obtengo el archivo apk de un dispositivo Android? ¿O cómo transfiero el archivo apk del dispositivo al sistema?
Use adb . Con adb pull puedes copiar archivos de tu dispositivo a tu sistema, cuando el dispositivo está conectado con USB.
Por supuesto, también necesita los permisos correctos para acceder al directorio en el que se encuentra su archivo. De lo contrario, primero deberá rootear el dispositivo.
Si encuentra que muchos de los APK se llaman "base.apk", también puede usar este comando de una línea para extraer todos los APK de un teléfono al que pueda acceder mientras cambia el nombre de cualquier nombre de "base.apk" por el nombre del paquete. Esto también corrige el problema de directorio no encontrado para las rutas APK con caracteres aparentemente aleatorios después del nombre:
for i in $(adb shell pm list packages | awk -F':' '{print $2}'); do adb pull "$(adb shell pm path $i | awk -F':' '{print $2}')"; mv base.apk $i.apk 2&> /dev/null ;done
Si obtiene "adb: error: error al registrar el objeto remoto", eso indica que no tiene los permisos necesarios. Ejecuté esto en un Moto Z2 NO rooteado y pude descargar TODOS los APK que no desinstalé (ver a continuación) excepto YouTube.
adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver <--- kills presidential alert app!
(para ver a los usuarios ejecutar adb shell pm list users) Esta es una forma de eliminar / desinstalar (no desde el teléfono, ya que vuelve con el restablecimiento de fábrica) casi CUALQUIER aplicación SIN root incluyendo las aplicaciones del sistema (insinúa la molesta aplicación de actualización que actualiza tu teléfono alinearlo o no se puede encontrar grepping para "ccc")
adb shell pm list packages
y,adb shell pm path your.package.name
luego, la ruta completa desde su PC, puede simplementeadb pull /full/path/to/your.apk
Ninguna de estas sugerencias funcionó para mí, porque Android estaba agregando un número de secuencia al nombre del paquete para producir el nombre del archivo APK final. En versiones más recientes de Android (Oreo y Pie), se agrega una cadena aleatoria impredecible. La siguiente secuencia de comandos es lo que funcionó para mí en un dispositivo no rooteado :
1) Determine el nombre del paquete de la aplicación, por ejemplo, "com.example.someapp". Omita este paso si ya conoce el nombre del paquete.
Mire la lista de nombres de paquetes e intente encontrar una coincidencia entre la aplicación en cuestión y el nombre del paquete. Esto suele ser fácil, pero tenga en cuenta que el nombre del paquete puede no estar relacionado con el nombre de la aplicación. Si no puede reconocer la aplicación de la lista de nombres de paquetes, intente encontrar la aplicación en Google Play usando un navegador. La URL de una aplicación en Google Play contiene el nombre del paquete.
2) Obtenga el nombre completo de la ruta del archivo APK para el paquete deseado.
La salida se verá como un
paquete: /data/app/com.example.someapp-2.apk
o
paquete: /data/app/com.example.someapp-nfFSVxn_CTafgra3Fr_rXQ == / base.apk
3) Utilizando el nombre completo de la ruta del Paso 2, extraiga el archivo APK del dispositivo Android al cuadro de desarrollo.
fuente
pm list packages
admite la-f
bandera, que enumera la ubicación del .apk para usted, comopackage:/data/app/com.google.android.apps.maps-1.apk=com.google.android.apps.maps
. La ayuda incorporada de pm es inútil, pero pm también puede filtrar tipos de paquetes, consulte developer.android.com/studio/command-line/adb.html#pm para obtener más información. EDITAR: acabo de notar que la respuesta a continuación dice esto, pero esa respuesta no es tan votada como esta.adb: error: remote object '/data/app/path.of.the.app-2/base.apk' does not exist
. Si examino estas carpetas con un explorador de archivos, las carpetas están vacías.adb shell
y luegocp PathToApk /sdcard/
y luego se copia de la tarjeta sd.No se requiere root:
Este código obtendrá la ruta de los paquetes de terceros con el nombre para que pueda identificar fácilmente su APK
la salida será
ahora extraiga ese paquete usando el siguiente código:
si ejecutó por encima de cmd
C:>\
, entonces encontrará ese paquete allí.fuente
-f -s
lugar de-f -3
He visto muchas soluciones a este problema, ya sea que tienes que rootear tu teléfono o tienes que instalar una aplicación. Luego, después de mucho googlear, obtuve esta solución para teléfonos no rooteados / rooteados.
Para enumerar qué aplicaciones tienes hasta ahora.
Luego puede seleccionar una aplicación, por ejemplo twitter
Una cosa importante aquí es no configurar una contraseña para cifrar su copia de seguridad
Esto va a crear un archivo llamado backup.ap, pero aún no puede abrirlo. Para esto, debes extraerlo nuevamente pero usando el comando dd.
Después de esto, todo lo que tiene que hacer es extraer el contenido de alquitrán y listo.
Espero que funcione para ustedes
fuente
Pasos para descargar APK del dispositivo al escritorio
A) Asegúrese de que su funcionamiento (emulador / dispositivo real). Para verificar use este comando
B) Seleccione toda la lista de paquetes disponibles instalada en su dispositivo. Puede usar el comando grep para seleccionar el paquete específico que desea descargar.
Salida (Lista de paquetes disponibles)
C) Copie el paquete (que desea descargar) del enlace anterior. Formule nuestro caso Elijo este paquete (com.example.myapplication)
Salida
D) Finalmente, para descargar APK desde su (emulador / dispositivo real)
Ejemplo: Intentar extraer este archivo CertInstaller.apk en su máquina local (Mac)
E) Confirme en su directorio local
fuente
fuente
One liner que funciona para todas las versiones de Android:
fuente
Completando la respuesta de @Yojimbo, esto es lo que hice (solo Linux / Mac, no funcionará de fábrica en Windows ... tal vez en el shell bash de git):
Esto es feo, pero funciona :)
EDITAR: ya no funciona en AndroidM: todos los archivos se denominan "base.apk" en otro directorio. Debe ser "trivial" para arreglar.
fuente
En sistemas unix, puede probar esta función:
android_pull_apk com.android.contacts
adb shell pm list packages
fuente
Como se dijo anteriormente, puede obtener el apk utilizando el comando pull en adb.
Ya que está hablando de sus aplicaciones instaladas, continúe y busque en el directorio / data / app de su sistema de archivos Android. Encontrarás los APK allí.
Luego use el comando adb - adb pull /data/data/appname.apk
fuente
Pruebe este comando one liner bash para hacer una copia de seguridad de todas sus aplicaciones:
Este comando se deriva de la secuencia de comandos de Firelord . Acabo de cambiar el nombre de todas las aplicaciones a sus nombres de paquete para resolver el problema con el script de elcuco , es decir, el mismo
base.apk
archivo se sobrescribe en Android 6.0 "Marshmallow" y superior.Tenga en cuenta que este comando solo hace una copia de seguridad de aplicaciones de terceros, porque no veo el punto de hacer una copia de seguridad de las aplicaciones integradas. Pero si también desea hacer una copia de seguridad de las aplicaciones del sistema, simplemente omita la
-3
opción.fuente
Si conoce (o si puede "adivinar") la ruta de acceso
.apk
( parece ser que tiene el formato/data/app/com.example.someapp-{1,2,..}.apk
, entonces también puede copiarla/data/app
también. Esto funcionó incluso en mi teléfono Android no rooteado y almacenado).Simplemente use una aplicación Terminal Emulator (como esta ) y ejecute:
Luego puede moverlo desde la tarjeta SD a donde desee (o adjuntarlo a un correo electrónico, etc.). El último bit puede ser técnicamente opcional, pero hace que su vida sea mucho más fácil cuando intenta hacer algo con el
.apk
archivo.fuente
Los procedimientos descritos aquí no funcionan para Android 7 (Nougat) [y posiblemente Android 6, pero no puedo verificarlo]. No puede extraer los archivos .apk directamente bajo Nougat (a menos que esté en modo raíz, pero eso requiere un teléfono rooteado). Pero, puede copiar el .apk a una ruta alternativa (digamos / sdcard / Download) en el teléfono usando adb shell, luego puede hacer una extracción de adb desde la ruta alternativa.
fuente
adb shell
comandos del comentario de @Isa A) funcionó bien para mí en Android 7.1.1, no rooteado.Obtenga la aplicación actualmente abierta con:
Obtenga la ruta al nombre del paquete
4.Copie la ruta que obtuvo al directorio sdcard
5. Tire del apk
Editar
Si el paso no 2 no funciona, use esto:
fuente
Así es como lo haces:
Descargue e instale APK Extractor en su dispositivo. Es gratis y es compatible en casi todos los dispositivos Android. Otro punto a favor es que ni siquiera requiere root ni nada para funcionar. Después de que lo tenga instalado, ejecútelo. Allí verá una lista de aplicaciones que están en su dispositivo, que incluyen las aplicaciones que instaló más adelante, junto con las aplicaciones del sistema. Mantenga presionada cualquier aplicación que desee extraer (puede seleccionar varias o todas las aplicaciones a la vez) y haga clic en la opción de extracción que ve en la parte superior. También tendrá la opción de compartir a través de Bluetooth o mensajes. Ya ha terminado, verá las aplicaciones extraídas como AppName_AppPackage_AppVersionName_AppVersionCode.apk, que se guardarán en la ruta / sdcard / ExtractedApks / de forma predeterminada.
Para obtener una descripción detallada de cómo extraer archivos apk en Android , visite: http://appslova.com/how-to-extract-apk-files-in-android/
fuente
Todas estas respuestas requieren múltiples pasos para cada archivo apk recuperado del dispositivo. 1. determine el nombre del paquete, 2. encuentre el archivo y 3. descárguelo. Creé un
apk_grabber
script de Python simple para hacer esto para cualquier aplicación que coincida con una expresión regular dada, y luego descompila esas aplicaciones en archivos jar.fuente
No he usado el código para extraer el archivo .apk desde el dispositivo móvil, pero he estado usando un software para extraer el archivo .apk desde el dispositivo móvil y el software que he utilizado se encuentra a continuación con el enlace de Google Play:
Espero que te ayude.
fuente
¿Quieres una solución de 1 minuto muy, muy cómoda?
solo esta aplicación https://play.google.com/store/apps/details?id=com.cvinfo.filemanager (administrador de archivos inteligente de google play).
toca "aplicaciones", elige una y toca "copia de seguridad". terminará en su sistema de archivos en la
app_backup
carpeta;)fuente
No se requiere ningún método Root ni herramientas ADB. Instala la aplicación MyAppSharer desde Play Store.
fuente
Recibí una
does not exist error
Así es como lo hago funcionar
fuente
Otra secuencia de comandos bash (es decir, funcionará para la mayoría de los sistemas basados en Unix). Basado en la respuesta de Pedro Rodrigues , pero es un poco más fácil de usar.
Mejoras sobre la versión de Pedro:
adb pull
seguía quejándomeno such file or directory
mientrasadb shell
podía acceder al archivo. Por lo tanto, utilicé un enfoque diferente, con un archivo temporal.Guarde esto en un archivo ejecutable:
fuente
La más simple es: Instalar la aplicación "ShareIt" en el teléfono. Ahora instale la aplicación shareIt en la PC u otro teléfono. Ahora desde el teléfono, donde está instalada la aplicación, abra ShareIt y envíe. En otro teléfono o PC, abra ShareIt y reciba.
fuente
Realmente me gustaron todas estas respuestas. La mayoría de los scripts para exportar y renombrarlos se escribieron en Bash. Hice un pequeño script de Perl que hace lo mismo (que debería funcionar tanto en Perl para Windows como para Linux, solo probado en Ubuntu).
download-apk.pl
El resultado es algo similar a:
fuente
Esto ayudará a alguien que esté buscando una respuesta no técnica.
Este es un simple truco
Descargue la aplicación
App Share/Send Pro
desde Google Play Store. Seleccione la aplicación que desea enviar y la aplicación de envío de método.Usualmente uso Bluetooth para enviar aplicaciones a mi PC u otro teléfono.
fuente