Можно ли установить пакеты в zip-файле без восстановления?

Я загрузил «Google Apps» для своего устройства (используя CyanogenMod) по этой ссылке: Google Apps для CyanogenMod

Это zip-файл, который включает в себя несколько папок и файлов:

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

Этот файл также содержит APK -файлы Google Apps. Его можно было выбрать из рекавери (типа ) и установить. Таким образом, все приложения, доступные в zip-файле, будут установлены полностью, и после установки их можно будет удалить, например, приложения, установленные с помощью файла .apk, потому что они предполагаются и встроены в приложения.

Мой вопрос в том, что если я извлекаю файлы .apk из этого zip-файла и устанавливаю их вручную на устройство, они будут работать правильно? Или есть какая-то функциональная разница между установкой zip-файла из рекавери и установкой apk-файла вручную?

Вам необходимо подписать почтовый индекс после изменения пакета ПЗУ. На форумах XDA есть несколько хороших отзывов об этом, а также несколько хороших приложений для подписи zip-файлов в PlayStore.

Ответы (4)

Сами APK можно установить без восстановления. Однако, если приложение зависит от другого приложения, которое не существует в текущей системе, или если оно зависит от функций, которые в настоящее время установленное приложение не предоставляет или предоставляет несовместимым образом, вы можете увидеть нестабильность, которой не было бы. Если бы вы установили все это. Это может привести к сбоям или даже повреждению данных. Я бы не рекомендовал выбирать APK из разных изображений, но если у вас есть очень-очень веские причины для этого, делайте это на свой страх и риск.

в этом случае вам придется перемонтировать раздел /system, так как он монтируется только для чтения.

черезadb shell

mount -o remount,rw /system

или снаружи устройства

adb remount

После этого вы можете скопировать содержимое этого файла на системный раздел.

Имейте в виду, что эти файлы apk будут зависеть от некоторых библиотек, файлов конфигурации и т. д., которые также представлены в этом файле, и, вероятно, было бы лучше установить все, как это было бы сделано с помощью метода установки в режиме восстановления. Если вы действительно хотите установить только некоторые из этих apk-файлов, вам нужно выяснить их зависимости и также установить их. Для анализа зависимостей файла apk вы можете использовать: http://developer.sonymobile.com/knowledge-base/tools/analyse-your-apks-with-apkanalyser/ . Зависимости должны быть перечислены в apks AndroidManifest.xml, который вы также можете прочитать с помощью инструментов из Android SDK, например: aaptчто-то вроде: aapt dump badging yourapp.apk. См. также: https://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file .

Имейте в виду: я не разработчик приложений, поэтому я не уверен, что библиотеки, которые должны быть частью каталога system/lib, также перечислены в его файле AndroidManifest.xml, возможно, разработчик приложения мог бы прокомментировать здесь.

Обычно вы всегда должны отдавать предпочтение установке через восстановление, так как это безопасный способ установки, при котором вы можете быть уверены, что ничего не сломаете во время установки, так как основная система не работает. (Сломанные файлы update.zip все еще могут сломать ваше устройство: P )

Как понять наши зависимости от каждого apk?
ответ обновляется в соответствии с вашим вопросом.

При установке zip из кастомного рекавери установите эти apks в каталог /system, который является файловой системой только для чтения, и вы не сможете удалить эти apks позже.

Да, вы можете установить вручную, и, скорее всего, у вас не возникнет проблем, если вы установите все необходимые apk, но приложения будут находиться в каталоге /data и использовать ваше драгоценное пространство для хранения. вы можете удалить хотя на этот раз.

делайте свой выбор с умом.

Существуют инструменты, которые позволяют вам установить apk как системное приложение, но вам потребуется root-доступ.

Тем не менее, после этого некоторые приложения могут не работать из-за зависимостей от других приложений. И установка всех зависимостей довольно сложна.