ฉันจะติดตั้งแอประบบอย่างถูกต้องด้วย. apk ได้อย่างไร


30

ฉันลบแอประบบ (com.android.mms) และฉันมี. apk ที่จำเป็นในการกู้คืนอย่างไรก็ตามจะไม่ติดตั้งผ่านช่องมาตรฐาน (การเรียกใช้. apk ให้ "แอปพลิเคชันไม่ได้ติดตั้ง") วิธีที่เหมาะสมในการติดตั้ง. apk ของแอประบบคืออะไร

คำตอบ:


41

คุณจะต้องผลักดัน .apk ไปยังโทรศัพท์ไปยังพาร์ทิชันระบบไปยังโฟลเดอร์/system/appหรือ/system/priv-appเมื่อใช้ Android 4.3 adbใช้ คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับadbที่นี่: http://android-dls.com/wiki/index.php?title=ADB

เพื่อที่จะเขียนถึง/systemคุณอาจต้องติดตั้งใหม่อ่าน - เขียน:

adb shell
su
mount -o rw,remount /system

หรือทำทั้งหมดจาก ADB ของโฮสต์:

adb root
adb remount

ตอนนี้คุณสามารถวาง.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

หลังจากนั้นหากยังไม่ได้ตั้งค่าสถานะให้เปลี่ยนการอนุญาต rw-r--r--ทุกระบบปพลิเคชันจะต้องมีสิทธิ์ นอกจากนี้คุณยังสามารถเปลี่ยนพวกเขาผ่านทาง ADB chmod 644 /path_to/your_fileกับคำสั่ง แม้ว่ามันจะค่อนข้างเก่า แต่ก็อาจช่วยได้

หลังจากที่คุณวาง.apkคุณจะต้องรีบูตอุปกรณ์ของคุณ adb rebootเช่นกับ


ใช่ฉันคิดว่านี่จะเป็นวิธีที่จะไปลองลายเซ็นไม่ดีพูดว่า ฉันใช้ Mms.apk ซึ่งเป็นส่วนหนึ่งของ. zip ฉันใช้เพื่อติดตั้ง android ที่กำลังรันอยู่
Dmitriy Likhten

2
คำตอบที่สวยงาม ขอบคุณ หนึ่งความคิดเห็นฉันไม่สามารถ "mv my-app.apk / system / app" ฉันได้รับข้อผิดพลาด "ล้มเหลวใน 'XXX.apk' - ลิงก์ข้ามอุปกรณ์" ฉันสามารถ CP และ RM การ apk ตามที่อธิบายไว้ในandroid.stackexchange.com/questions/75920/…
Michael Levy

1
ลองใช้cpแทนmvเพราะคุณกำลังย้ายระหว่างระบบไฟล์ที่แตกต่างกันและไม่รองรับในทุกmvรุ่น
Andres

สิ่งนี้ไม่อัปเดตการอนุญาตของ Android ด้วยตำแหน่งของ apk ซึ่งจำเป็นสำหรับแพคเกจที่ใช้ apk
paIncrease

5

Carl Parkerเขียนเกี่ยวกับเรื่องนี้ใน Android Authority :
(ทำซ้ำบางส่วนที่นี่ในกรณีที่โพสต์ต้นฉบับจะลง)

สำหรับแอพที่ติดตั้งบนอุปกรณ์

  • สมมติว่าคุณติดตั้งแอปบนอุปกรณ์ของคุณแล้วไปที่ลิงก์ Google Play Store ของแอพแล้วจดคำหลังจาก“? id =” แล้วละเว้นส่วนที่เหลือ
  • เชื่อมต่ออุปกรณ์ของคุณเข้ากับคอมพิวเตอร์ผ่านสาย USB
  • เปิดพรอมต์คำสั่งบนคอมพิวเตอร์ของคุณและพิมพ์คำสั่งต่อไปนี้:
adb remount 
adb shell 
su 
cd /data/app/ 
  • พิมพ์คำสั่งls appfilename*(โดยที่“ appfilename” เป็นรหัสของแอปใน Google Play Store ตรวจสอบให้แน่ใจว่าคุณใส่เครื่องหมายดอกจันที่ท้าย) คำสั่งนี้จะแสดงชื่อไฟล์ APK ที่สมบูรณ์ของแอป
  • ป้อนคำสั่งต่อไปนี้:
mv apk_full_filename_here /system/app/apk_full_filename_here 
exit 
exit 
adb reboot 
  • อุปกรณ์จะรีบูตในขณะนี้ ขณะนี้แอปของคุณถูกบันทึกเป็นแอประบบ

สำหรับแอพที่มี APK อยู่บนฮาร์ดไดรฟ์ PC

  • เปิดพรอมต์คำสั่งบนคอมพิวเตอร์ของคุณและไปยังตำแหน่งไฟล์ APK
  • เปิดใช้งานการแก้ไขข้อบกพร่อง USB บนอุปกรณ์ของคุณและเชื่อมต่ออุปกรณ์ของคุณเข้ากับคอมพิวเตอร์ผ่านสาย USB
  • ป้อนคำสั่งต่อไปนี้:
adb remount
adb push apk-filename-here /system/app/
adb shell chmod 644 /system/app/apk-filename-here
adb reboot

โทรศัพท์ของคุณจะรีบูตโดยอัตโนมัติ แอปของคุณจะถูกบันทึกเป็นแอพระบบ


3

โปรดทราบว่าเมื่อเล่นกับ adb คุณจะติดตั้งแอพผ่านชื่อไฟล์แพคเกจ (หมายถึงที่พรอมต์คำสั่งคุณจะพิมพ์> adb install myFile.apk)

แต่คุณจะถอนการติดตั้งผ่านชื่อแพ็คเกจ (> adb uninstall com.this.that.otherthing)

คุณจะไม่สามารถติดตั้งแพ็คเกจจนกว่าคุณจะถอนการติดตั้งรุ่นก่อน

มันจะช่วยเพิ่ม adb ใน PATH ของคุณเพื่อให้คุณสามารถไปที่ไดเรคทอรี่ซึ่งเป็นไฟล์. apk และพิมพ์ adb ติดตั้ง myFile.apk


ขอบคุณ! ไม่ทราบเกี่ยวกับกลไกการถอนการติดตั้ง :)
Dmitriy Likhten

ยังไม่ได้ลองกับแอประบบ แต่สำหรับ/system/bin/pmยูทิลิตี้แอปพลิเคชัน(ตัวจัดการแพคเกจ) ที่ใช้งานได้สำหรับฉัน กดไลค์pm install -r myFile.apk( -rสำหรับ "แทนที่") วิธีนี้คุณไม่จำเป็นต้องถอนการติดตั้งและทราบชื่อแพ็คเกจ
Alexander Malakhov

0

คุณต้องติดตั้ง Android SDK (หรืออย่างน้อยเครื่องมือที่เรียกว่า adb) นอกจากนี้คุณต้องอนุญาต "ติดตั้งที่ไม่ใช่ตลาด" บนอุปกรณ์ของคุณ

หลังจากเสร็จสิ้นคุณเปลี่ยนไปเป็นโฟลเดอร์ที่มีไฟล์พร้อมคอนโซล จากนั้นเชื่อมต่อโทรศัพท์ของคุณ (ผ่าน USB) และเรียกใช้adb install appname.apk


ดูความคิดเห็นคำตอบอื่น ๆ มีการติดตั้งไม่ใช่ตลาดที่เปิดใช้งานตั้งแต่ผมได้ติดตั้ง Swype :)
Dmitriy Likhten
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.