¿Es posible instalar paquetes en un archivo zip sin recuperación?

He descargado "Google Apps" para mi dispositivo (usando CyanogenMod) desde este enlace: Google Apps para CyanogenMod

Es un archivo zip que incluye algunas carpetas y archivos:

Archive:  gapps-kk-20140606-signed.zip
signed by SignApk
  Length      Date    Time    Name
---------  ---------- -----   ----
   283576  2008-02-28 18:33   META-INF/com/google/android/update-binary
     2538  2008-02-28 18:33   META-INF/com/google/android/updater-script
      733  2008-02-28 18:33   install-optional.sh
     1293  2008-02-28 18:33   optional/face/addon.d/71-gapps-faceunlock.sh
  1509607  2008-02-28 18:33   optional/face/app/FaceLock.apk
  1267168  2008-02-28 18:33   optional/face/lib/libfacelock_jni.so
   242204  2008-02-28 18:33   optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.7/left_eye-y0-yi45-p0-pi45-r0-ri20.lg_32.bin
   239032  2008-02-28 18:33   optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.7/nose_base-y0-yi45-p0-pi45-r0-ri20.lg_32.bin
   227880  2008-02-28 18:33   optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.7/right_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-2.bin
   437148  2008-02-28 18:33   optional/face/vendor/pittpatt/models/detection/yaw_roll_face_detectors.6/head-y0-yi45-p0-pi45-r0-ri30.4a-v24.bin
   395904  2008-02-28 18:33   optional/face/vendor/pittpatt/models/detection/yaw_roll_face_detectors.6/head-y0-yi45-p0-pi45-rn30-ri30.5-v24.bin
   403000  2008-02-28 18:33   optional/face/vendor/pittpatt/models/detection/yaw_roll_face_detectors.6/head-y0-yi45-p0-pi45-rp30-ri30.5-v24.bin
 11981284  2008-02-28 18:33   optional/face/vendor/pittpatt/models/recognition/face.face.y0-y0-22-b-N.bin
     2679  2008-02-28 18:33   system/addon.d/70-gapps.sh
  7329839  2008-02-28 18:33   system/app/Books.apk
  1504849  2008-02-28 18:33   system/app/GenieWidget.apk
  4904345  2008-02-28 18:33   system/app/Gmail2.apk
   502096  2008-02-28 18:33   system/app/GoogleCalendarSyncAdapter.apk
   206543  2008-02-28 18:33   system/app/GoogleContactsSyncAdapter.apk
   820454  2008-02-28 18:33   system/app/GoogleEars.apk
 10949624  2008-02-28 18:33   system/app/GoogleTTS.apk
 11511850  2008-02-28 18:33   system/app/Hangouts.apk
  7631202  2008-02-28 18:33   system/app/Magazines.apk
 10987553  2008-02-28 18:33   system/app/Maps.apk
   388768  2008-02-28 18:33   system/app/MediaUploader.apk
  8438121  2008-02-28 18:33   system/app/Music2.apk
  3293204  2008-02-28 18:33   system/app/PlayGames.apk
 30177075  2008-02-28 18:33   system/app/PlusOne.apk
   264451  2008-02-28 18:33   system/app/Street.apk
  3474174  2008-02-28 18:33   system/app/Videos.apk
  8374746  2008-02-28 18:33   system/app/YouTube.apk
      154  2008-02-28 18:33   system/etc/g.prop
      816  2008-02-28 18:33   system/etc/permissions/com.google.android.maps.xml
      835  2008-02-28 18:33   system/etc/permissions/com.google.android.media.effects.xml
      261  2008-02-28 18:33   system/etc/permissions/com.google.widevine.software.drm.xml
      967  2008-02-28 18:33   system/etc/permissions/features.xml
     9629  2008-02-28 18:33   system/etc/preferred-apps/google.xml
   160503  2008-02-28 18:33   system/framework/com.google.android.maps.jar
    34818  2008-02-28 18:33   system/framework/com.google.android.media.effects.jar
      688  2008-02-28 18:33   system/framework/com.google.widevine.software.drm.jar
   427480  2008-02-28 18:33   system/lib/libAppDataSearch.so
   830276  2008-02-28 18:33   system/lib/libWVphoneAPI.so
     9340  2008-02-28 18:33   system/lib/libcrashreporter.so
    17484  2008-02-28 18:33   system/lib/libfilterframework_jni.so
   542776  2008-02-28 18:33   system/lib/libfilterpack_facedetect.so
  1848904  2008-02-28 18:33   system/lib/libfrsdk.so
  1446992  2008-02-28 18:33   system/lib/libgames_rtmp_jni.so
   148800  2008-02-28 18:33   system/lib/libgcastv2_base.so
   173516  2008-02-28 18:33   system/lib/libgcastv2_support.so
    54432  2008-02-28 18:33   system/lib/libgoogle_hotword_jni.so
 10716304  2008-02-28 18:33   system/lib/libgoogle_recognizer_jni_l.so
    30092  2008-02-28 18:33   system/lib/libjgcastservice.so
   497116  2008-02-28 18:33   system/lib/libjni_unbundled_latinimegoogle.so
  3276964  2008-02-28 18:33   system/lib/libmoviemaker-jni.so
  3186756  2008-02-28 18:33   system/lib/libnetjni.so
  4634612  2008-02-28 18:33   system/lib/libpatts_engine_jni_api.so
  5236788  2008-02-28 18:33   system/lib/libpatts_engine_jni_api_ub.210030011.so
  3311060  2008-02-28 18:33   system/lib/libphotoeditor_native.so
    29936  2008-02-28 18:33   system/lib/libplus_jni_v8.so
    22564  2008-02-28 18:33   system/lib/librsjni.so
   140624  2008-02-28 18:33   system/lib/libspeexwrapper.so
   349640  2008-02-28 18:33   system/lib/libvcdecoder_jni.so
  4906560  2008-02-28 18:33   system/lib/libvideochat_jni.so
   132332  2008-02-28 18:33   system/lib/libwebp_android.so
   859115  2008-02-28 18:33   system/priv-app/ConfigUpdater.apk
 14146183  2008-02-28 18:33   system/priv-app/GmsCore.apk
   127784  2008-02-28 18:33   system/priv-app/GoogleBackupTransport.apk
   306772  2008-02-28 18:33   system/priv-app/GoogleFeedback.apk
  5872527  2008-02-28 18:33   system/priv-app/GoogleLoginService.apk
     8500  2008-02-28 18:33   system/priv-app/GoogleOneTimeInitializer.apk
   130086  2008-02-28 18:33   system/priv-app/GooglePartnerSetup.apk
  3031445  2008-02-28 18:33   system/priv-app/GoogleServicesFramework.apk
  6520554  2008-02-28 18:33   system/priv-app/Phonesky.apk
  2112030  2008-02-28 18:33   system/priv-app/SetupWizard.apk
 18403608  2008-02-28 18:33   system/priv-app/Velvet.apk
  2736144  2008-02-28 18:33   system/priv-app/talkback.apk
   411730  2008-02-28 18:33   system/usr/srec/en-US/c_fst
  2841712  2008-02-28 18:33   system/usr/srec/en-US/clg
     1881  2008-02-28 18:33   system/usr/srec/en-US/commands.abnf
      285  2008-02-28 18:33   system/usr/srec/en-US/compile_grammar.config
     3381  2008-02-28 18:33   system/usr/srec/en-US/contacts.abnf
     1721  2008-02-28 18:33   system/usr/srec/en-US/dict
     2539  2008-02-28 18:33   system/usr/srec/en-US/dictation.config
  3667120  2008-02-28 18:33   system/usr/srec/en-US/dnn
     1357  2008-02-28 18:33   system/usr/srec/en-US/endpointer_dictation.config
     1514  2008-02-28 18:33   system/usr/srec/en-US/endpointer_voicesearch.config
    19808  2008-02-28 18:33   system/usr/srec/en-US/ep_acoustic_model
  3326536  2008-02-28 18:33   system/usr/srec/en-US/g2p_fst
     2563  2008-02-28 18:33   system/usr/srec/en-US/grammar.config
     1688  2008-02-28 18:33   system/usr/srec/en-US/hclg_shotword
   182833  2008-02-28 18:33   system/usr/srec/en-US/hmm_symbols
   112016  2008-02-28 18:33   system/usr/srec/en-US/hmmlist
     2745  2008-02-28 18:33   system/usr/srec/en-US/hotword.config
    29252  2008-02-28 18:33   system/usr/srec/en-US/hotword_classifier
     5460  2008-02-28 18:33   system/usr/srec/en-US/hotword_normalizer
       10  2014-06-08 01:25   system/usr/srec/en-US/hotword_prompt.txt
      278  2008-02-28 18:33   system/usr/srec/en-US/hotword_word_symbols
       39  2008-02-28 18:33   system/usr/srec/en-US/metadata
      862  2008-02-28 18:33   system/usr/srec/en-US/norm_fst
   970304  2008-02-28 18:33   system/usr/srec/en-US/normalizer
   575024  2008-02-28 18:33   system/usr/srec/en-US/offensive_word_normalizer
      303  2008-02-28 18:33   system/usr/srec/en-US/phone_state_map
      244  2008-02-28 18:33   system/usr/srec/en-US/phonelist
 10659152  2008-02-28 18:33   system/usr/srec/en-US/rescoring_lm
   126368  2008-02-28 18:33   system/usr/srec/en-US/wordlist
     1675  2008-02-28 18:33   META-INF/com/android/otacert
     9792  2008-02-28 18:33   META-INF/MANIFEST.MF
    10799  2008-02-28 18:33   META-INF/CERT.SF
     1714  2008-02-28 18:33   META-INF/CERT.RSA
---------                     -------
247160412                     109 files

Este archivo también contiene archivos APK de Google Apps. Se puede elegir desde la recuperación (como ) e instalarse. De esta manera, todas las aplicaciones disponibles en el archivo zip se instalarán por completo y, después de la instalación, se podrán desinstalar, como las aplicaciones instaladas por el archivo .apk, porque se supone que son aplicaciones integradas.

Mi pregunta es si extraigo archivos .apk de este archivo zip y los instalo manualmente en el dispositivo, ¿funcionan correctamente? ¿O hay alguna diferencia funcional entre instalar el archivo zip desde la recuperación e instalar el archivo apk manualmente?

Debe tener su zip firmado después de modificar el paquete ROM. Hay algunos buenos comentarios en los foros de XDA sobre esto y algunas buenas aplicaciones para firmar archivos zip en PlayStore.

Respuestas (4)

Los propios APK se pueden instalar sin recuperación. Sin embargo, si una aplicación depende de otra aplicación que no existe en el sistema actual o si depende de características que el dependiente actualmente instalado no proporciona o proporciona de manera incompatible, entonces es posible que vea inestabilidades que no habrían existido. si hubieras instalado todo. Esto podría traducirse en bloqueos o incluso corrupción de datos. No recomendaría elegir APK de diferentes imágenes, pero si tiene muy buenas razones para hacerlo, hágalo bajo su propio riesgo.

si lo hace, debe volver a montar la partición / system, ya que está montada en solo lectura.

a través de unadb shell

mount -o remount,rw /system

o desde fuera del dispositivo

adb remount

Después de esto, puede copiar el contenido de este archivo en la partición del sistema.

Tenga en cuenta que estos archivos apk se basarán en algunas bibliotecas, archivos de configuración, etc., que también se proporcionan en este archivo y probablemente sería mejor instalar todo como se haría a través del método de instalación en recuperación. Si realmente desea instalar solo algunos de estos archivos apk, debe averiguar sus dependencias e instalarlos también. Para analizar las dependencias de un archivo apk, puede usar: http://developer.sonymobile.com/knowledge-base/tools/analyse-your-apks-with-apkanalyser/ . Las dependencias deben enumerarse en las aplicaciones AndroidManifest.xml, que también puede leer con herramientas del SDK de Android como: aaptalgo así como: aapt dump badging yourapp.apk. Consulte también: https://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file .

Tenga en cuenta: no soy un desarrollador de aplicaciones, por lo que no estoy seguro de si las bibliotecas que deberían ser parte del directorio system/lib también se enumeran en su archivo AndroidManifest.xml, tal vez un desarrollador de aplicaciones podría comentar aquí.

Por lo general, siempre debe preferir la instalación a través de la recuperación, ya que esta es una forma segura de instalar donde puede estar seguro de no romper nada durante la instalación, ya que el sistema principal no se está ejecutando (los archivos update.zip rotos aún pueden dañar su dispositivo: P )

¿Cómo calcular nuestras dependencias de cada apk?
La respuesta se actualiza de acuerdo con su pregunta.

Al instalar zip desde la recuperación personalizada, instale estas aplicaciones en el directorio / system, que es un sistema de archivos de solo lectura y no puede desinstalar estas aplicaciones más tarde.

Sí, puede instalar manualmente y lo más probable es que no tenga problemas si instala todas las aplicaciones necesarias, pero las aplicaciones estarán en el directorio /data y usarán su valioso espacio de almacenamiento. aunque esta vez puedes desinstalarlo.

haga su elección sabiamente.

Hay herramientas que le permiten instalar apk como una aplicación del sistema, pero necesitará acceso de root.

Sin embargo, después de hacerlo, es posible que algunas aplicaciones no funcionen debido a las dependencias con otras aplicaciones. E instalar todas las dependencias es bastante complicado.