5 votos

¿Se puede instalar un APK desde un URI a través de `adb`?

Pregunta

Como ejemplo, he intentado lo siguiente:

adb -s "$DeviceName" install -t 'https://github.com/HomeZz/Current-Activity/releases/download/v1.5.9/app-debug-v1.5.9.apk'

Sin embargo, esto falla:

Realizando instalación transmitida
adb: no se pudo obtener información del archivo https://github.com/HomeZz/Current-Activity/releases/download/v1.5.9/app-debug-v1.5.9.apk: No existe el archivo o directorio

¿Alguien conoce un método alternativo que elimine la necesidad de descargar el .APK primero?

Justificación

  1. Pregunto esto porque al prototipar APKs en un dispositivo desde múltiples ubicaciones en línea - algo que hago comúnmente - necesitar descargarlos primero - especialmente con una conexión a Internet lenta - puede resultar molesto.

  2. Cuando lo intenté por primera vez, me sorprendió que fallara, ya que dnf5 install "$URI" es perfectamente válido y normal.

7voto

John Dallman Puntos 103

Un poco de lectura en la fuente de ADB revela que no, no hay otra forma con ADB. A día de hoy, la función clave que hace el trabajo es do_sync_push() en file_sync_client.cpp y eso hace una llamada ordinaria a stat() en el archivo(s) de origen.

El procesamiento de adb install es bastante simple: empujar el APK a /data/local/tmp, invocar a pm en él, y luego borrar la copia empujada del APK.

Es dudoso que ADB pueda ser extendido para hacer esto, y es posible hacer solicitudes e informar errores contra él. Sospecho que no tiene todas las campanas y silbatos de dnf5 simplemente porque muchas menos personas lo utilizan.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X