.Apk verilen bir sistem uygulamasını nasıl düzgün bir şekilde kurabilirim?


30

Bir sistem uygulamasını (com.android.mms) kaldırdım ve onu geri yüklemek için gerekli olan .apk'a sahibim, ancak standart kanallardan (.apk'ı çalıştırmak bana "uygulama yüklenmedi" veriyor) yüklenmeyecek. Bir sistem uygulamasının .apk dosyasını kurmanın doğru yolu nedir?

Yanıtlar:


41

.Apk dosyasını telefona sistem bölümüne, klasöre /system/appveya /system/priv-appAndroid 4.3 kullanırken kullanmanız gerekir adb. adbBurada daha fazla bilgi bulabilirsiniz : http://android-dls.com/wiki/index.php?title=ADB .

/systemSize yazmak için büyük olasılıkla okuma-yazma yeniden düzenlemek zorunda:

adb shell
su
mount -o rw,remount /system

Veya, tamamen sunucunun ADB'sinden yapın:

adb root
adb remount

Şimdi şunları yapabilirsiniz .apk:

adb push my-app.apk /sdcard/
adb shell
su
cd /sdcard
mv my-app.apk /system/app
# or when using Android 4.3 or higher
mv my-app.apk /system/priv-app

Daha sonra bayraklar önceden ayarlanmadıysa izinleri değiştirin. Tüm Sistem Uygulamaları izinlere sahip olmalıdır rw-r--r--. Ayrıca komutları ile ADB üzerinden de değiştirebilirsiniz chmod 644 /path_to/your_file. Oldukça eski olmasına rağmen, bu yardımcı olabilir

Yerleştirdikten sonra .apkcihazınızı yeniden başlatmanız gerekir. Mesela adb reboot.


Evet, bunun gidilecek yol olacağını düşündüm, denedim, kötü imza diyor. Ben mevcut android çalışan yüklemek için kullanılan .zip rom bir parçası olan Mms.apk kullandım.
Dmitriy Likhten

2
Güzel cevap Teşekkürler. Bir yorum, "mv my-app.apk / system / app" mümkün değildi. "XXX.apk '- Cihazlar arası bağlantıda başarısız oldu" hatası aldım. Android.stackexchange.com/questions/75920/…
Michael Levy

1
Kullanmayı düşünün cpyerine mvfarklı dosya sistemleri arasında hareket ediyor çünkü ve tüm desteklenmeyen mvsürümleri
Andres

bu işlem, android kullanan izinleri, apk kullanan paketler için gerekli olan apk konumuyla güncellemez
paIncrease

5

Carl Parker , Android Authority'de şöyle yazıyor:
(orijinal gönderiningeçmesidurumunda kısmen burada yeniden yayınlandı)

Cihaza Yüklenen Uygulamalar İçin

  • Uygulamayı cihazınıza yüklediğinizi varsayarak, uygulamanın Google Play Store bağlantısına gidin ve “? İd =” ifadesinden sonra yazılanları not alın ve gerisini yok sayın.
  • Cihazınızı bilgisayara USB kablosu ile bağlayın.
  • Bilgisayarınızdaki komut istemini açın ve aşağıdaki komutları yazın:
adb remount 
adb shell 
su 
cd /data/app/ 
  • Komutu yazın ls appfilename* (burada “appfilename”, uygulamanın Google Play Store'daki kimliğidir; en sonunda yıldız işaretini eklediğinizden emin olun). Bu komut, uygulamanın tam APK dosya adını görüntüler.
  • Aşağıdaki komutu girin:
mv apk_full_filename_here /system/app/apk_full_filename_here 
exit 
exit 
adb reboot 
  • Cihaz şimdi yeniden başlatılacak. Uygulamanız şimdi bir sistem uygulaması olarak kaydedildi.

APK'leri PC Sabit Sürücüde Bulunan Uygulamalar İçin

  • Bilgisayarınızda bir komut istemi açın ve APK dosyasının bulunduğu yere gidin.
  • Cihazınızda USB hata ayıklamasını etkinleştirin ve cihazınızı USB kablosuyla bilgisayara bağlayın.
  • Aşağıdaki komutları girin:
adb remount
adb push apk-filename-here /system/app/
adb shell chmod 644 /system/app/apk-filename-here
adb reboot

Telefonunuz otomatik olarak yeniden başlatılacaktır. Uygulamanız şimdi bir sistem uygulaması olarak kaydedilecek.


3

adb ile oynadığınızda uygulamaları paket dosya adlarıyla yükleyeceğinizi unutmayın (yani, komut istemine> adb install myFile.apk yazacaksınız)

ancak onları paket isimleriyle kaldıracaksınız (> adb uninstall com.this.that.otherthing)

Selefi kaldırana kadar bir paket kuramazsınız.

PATH'inize adb eklemenize yardımcı olur, böylece sadece .apk dosyasının bulunduğu dizine gidebilir ve adb install myFile.apk yazabilirsiniz.


Teşekkürler! :) kaldırma mekaniği hakkında bilmiyordum
Dmitriy Likhten

Sistem uygulamalarını denemedim, ancak normal uygulamalar için /system/bin/pm(Paket Yöneticisi) yardımcı programı benim için çalıştı. Beğen pm install -r myFile.apk( -r"değiştir" için). Bu yolla paket adını kaldırmanız ve bilmeniz gerekmez.
Alexander Malakhov

0

Android SDK'nın yüklü olması gerekir (veya en azından adb adında bir araç). Ayrıca cihazınızda "Piyasa Dışı Kurulum" izin vermeniz gerekir.

Bu yapıldıktan sonra dosyayı konsollu olarak içeren klasöre geçersiniz. Ardından telefonunuzu bağlayın (USB ile) veadb install appname.apk


Diğer cevapların yorumlarını görün. Swype kurulumunu yaptığım için zaten piyasa dışı kurulumları etkinleştirdim :)
Dmitriy Likhten
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.