Ist es möglich, Pakete in einer ZIP-Datei ohne Wiederherstellung zu installieren?

Ich habe "Google Apps" für mein Gerät (mit CyanogenMod) von diesem Link heruntergeladen: Google Apps for CyanogenMod

Es ist eine ZIP-Datei, die einige Ordner und Dateien enthält:

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

Diese Datei enthält auch Google Apps APK- Dateien. Es kann aus der Wiederherstellung (z. B. ) ausgewählt und installiert werden. Auf diese Weise werden alle in der ZIP-Datei verfügbaren Apps vollständig installiert und können nach der Installation deinstalliert werden, z.

Meine Frage lautet: Wenn ich .apk-Dateien aus dieser ZIP-Datei extrahiere und sie manuell auf dem Gerät installiere, funktionieren sie dann ordnungsgemäß? Oder gibt es einen funktionalen Unterschied zwischen der Installation der Zip-Datei aus der Wiederherstellung und der manuellen Installation der APK-Datei?

Sie müssen Ihre ZIP-Datei signieren lassen, nachdem Sie das ROM-Paket geändert haben. Es gibt einige gute Artikel in den XDA-Foren dazu und einige gute Apps zum Signieren von ZIP-Dateien im PlayStore.

Antworten (4)

Die APK selbst kann ohne Wiederherstellung installiert werden. Wenn jedoch eine Anwendung von einer anderen Anwendung abhängt, die im aktuellen System nicht vorhanden ist, oder wenn sie von Funktionen abhängt, die die derzeit installierte abhängige Anwendung nicht oder auf inkompatible Weise bereitstellt, werden möglicherweise Instabilitäten angezeigt, die nicht vorhanden gewesen wären wenn du das ganze installiert hättest. Dies kann zu Abstürzen oder sogar zu Datenbeschädigungen führen. Ich würde nicht empfehlen, APKs aus verschiedenen Bildern herauszupicken, aber wenn Sie sehr, sehr gute Gründe dafür haben, tun Sie es auf eigene Gefahr.

Wenn Sie dies tun, müssen Sie die /system-Partition neu einhängen, da sie schreibgeschützt eingehängt ist.

über einadb shell

mount -o remount,rw /system

oder von außerhalb des Geräts

adb remount

Danach können Sie den Inhalt dieser Datei auf die Systempartition kopieren.

Denken Sie daran, dass diese APK-Dateien auf einigen Bibliotheken, Konfigurationsdateien usw. basieren, die ebenfalls in dieser Datei enthalten sind, und wahrscheinlich wäre es am besten, das Ganze so zu installieren, wie es über die Installationsmethode in der Wiederherstellung erfolgen würde. Wenn Sie wirklich nur einige dieser APK-Dateien installieren möchten, müssen Sie ihre Abhängigkeiten herausfinden und sie auch installieren. Um die Abhängigkeiten einer APK-Datei zu analysieren, können Sie Folgendes verwenden: http://developer.sonymobile.com/knowledge-base/tools/analyse-your-apks-with-apkanalyser/ . Die Abhängigkeiten sollten in den apks AndroidManifest.xml aufgelistet sein, die Sie auch mit Tools aus dem Android SDK lesen könnten, wie: aaptso etwas wie: aapt dump badging yourapp.apk. Siehe auch: https://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file .

Denken Sie daran: Ich bin kein App-Entwickler, daher bin ich mir nicht sicher, ob Bibliotheken, die Teil des system/lib-Verzeichnisses sein sollten, auch in der Datei AndroidManifest.xml aufgeführt sind. Vielleicht könnte ein App-Entwickler hier einen Kommentar abgeben.

Normalerweise sollten Sie immer die Installation über die Wiederherstellung bevorzugen, da dies eine sichere Installationsmethode ist, bei der Sie sicher sein können, dass während der Installation nichts beschädigt wird, da das Hauptsystem nicht ausgeführt wird. (Beschädigte update.zip-Dateien können Ihr Gerät immer noch beschädigen :P )

Wie können wir unsere Abhängigkeiten von jeder APK herausfinden?
Die Antwort wird entsprechend Ihrer Frage aktualisiert.

Durch die Installation von zip aus der benutzerdefinierten Wiederherstellung installieren Sie diese APKs im /system-Verzeichnis, das ein schreibgeschütztes Dateisystem ist, und Sie können diese APKs später nicht deinstallieren.

Ja, Sie können manuell installieren und höchstwahrscheinlich werden Sie keine Probleme bekommen, wenn Sie alle erforderlichen APKs installieren, aber Anwendungen befinden sich im /data-Verzeichnis und verwenden Ihren wertvollen Speicherplatz. Sie können dieses Mal jedoch deinstallieren.

treffen Sie Ihre Wahl mit Bedacht.

Es gibt Tools, mit denen Sie apk als System-App installieren können, aber Sie benötigen Root-Zugriff.

Trotzdem funktionieren einige Apps danach möglicherweise aufgrund von Abhängigkeiten zu anderen Apps nicht. Und die Installation aller Abhängigkeiten ist ziemlich schwierig.