ฉันต้องการทราบว่ามีวิธีบอก Android ให้ติดตั้งแอปพลิเคชันบนการ์ด micro SD โดยค่าเริ่มต้นแทนที่จะต้องดาวน์โหลดแอปพลิเคชันไปยังหน่วยความจำภายในก่อนหรือไม่จากนั้นจึงย้ายไปยังการ์ด SD ด้วยตนเอง
ขอบคุณ
ฉันต้องการทราบว่ามีวิธีบอก Android ให้ติดตั้งแอปพลิเคชันบนการ์ด micro SD โดยค่าเริ่มต้นแทนที่จะต้องดาวน์โหลดแอปพลิเคชันไปยังหน่วยความจำภายในก่อนหรือไม่จากนั้นจึงย้ายไปยังการ์ด SD ด้วยตนเอง
ขอบคุณ
คำตอบ:
บทความที่ HowtoGeek นี้อธิบายวิธีการใช้adb :
adb shell pm setInstallLocation 2
adb shell pm set-install-location 2
)คำสั่งนี้จะตั้งค่าเป้าหมายการติดตั้งเริ่มต้นของอุปกรณ์เป็น SDCard ของคุณ ไม่ได้หมายความว่าทุกอย่างจะติดตั้งที่นั่น: เฉพาะแอปที่รองรับสิ่งนี้จะไปที่นั่นและผู้พัฒนาสามารถ "ลบล้าง" สิ่งนี้ในรายการแอพของพวกเขาหากพวกเขาคิดว่าจำเป็น จากการอ้างอิง API ที่เชื่อมโยง :
เปลี่ยนตำแหน่งการติดตั้งเริ่มต้น ค่าที่ตั้ง:
0
: อัตโนมัติ - ให้ระบบตัดสินตำแหน่งที่ดีที่สุด1
: ภายใน - ติดตั้งบนที่เก็บอุปกรณ์ภายใน2
: ภายนอก - ติดตั้งบนสื่อภายนอกหมายเหตุ:นี่มีไว้สำหรับการดีบักเท่านั้น การใช้สิ่งนี้อาจทำให้แอปพลิเคชันหยุดพักและพฤติกรรมที่ไม่พึงประสงค์อื่น ๆ
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ ADB และวิธีที่คุณจะได้รับเช่นรุ่นที่น้อยที่สุดของมันไปยังเครื่องคอมพิวเตอร์ของคุณ (โดยไม่ overkill ของการติดตั้ง SDK ทั้งหมด) คุณสามารถใช้เวลาดูที่adb แท็กวิกิพีเดีย
ปรับปรุง:เพื่อหลีกเลี่ยงความสับสนกับคำตอบของ t0mm13bมีการอนุญาตบางอย่างในกระบวนการติดตั้ง:
/data/local
คือที่คุณจัดเก็บข้อมูลภายใน คุณไม่สามารถเปลี่ยนแปลงได้.apk
จะทำการติดตั้งโดยอัตโนมัติ จะขึ้นอยู่กับหลายสิ่ง:
android:installLocation
คุณสมบัติในแอพของเขาManifest
แอพจะถูกติดตั้งลงในเรื่องราวภายใน หยุดเต็มไม่มีตัวเลือกอื่น (ดู: การอ้างอิง API )android:installLocation
ตั้งค่าเป็นpreferExternal
และที่จัดเก็บข้อมูลภายนอกจะพร้อมใช้งานauto
มันขึ้นอีกครั้ง:
ไม่สามารถเปลี่ยนแปลงได้! นั่นคือวิธีที่ Android ใช้งาน
การดาวน์โหลดทั้งหมดจาก Google Play ไปที่ระบบไฟล์ภายในจากนั้น:
หากปุ่มย้ายไปที่ SDCardถูกปิดใช้งานหรือเป็นสีเทาปุ่มอาจจะป้องกันไม่ให้แอปทำงานเช่นวิดเจ็ตของตัวเองบนหน้าจอหลัก
ดูคำตอบนี้ในแถบด้านข้างที่เกี่ยวข้องทางด้านขวาของหน้านี้ :)
android:installLocation="auto"
ยังไม่เห็นadb shell pm setInstallLocation 2
สมมุติว่าคุณระบุชื่อแพ็คเกจในกรณีนั้น ...
Manifest
พูดว่า "อัตโนมัติ" นั่นคือที่ที่มันจะไป ถ้าManifest
พูดว่านอกเหนือจาก "อัตโนมัติ" มันจะไปที่Manifest
พูดว่า ดูเพิ่มเติมที่: การอ้างอิง APIและที่นี่สำหรับpm set-install-location
คำสั่ง (ไวยากรณ์ใหม่)
android:installLocation
- จริงช่วยให้การเคลื่อนย้ายไปยัง SDCardจากการตั้งค่า app จัดการ ... devs บางคนไม่ได้ระบุว่าการแสดงผลและปุ่มเป็นคนพิการ แต่ฉันยอมรับ - ไม่เคยเห็นคำสั่ง adb ที่จะทำอย่างใดอย่างหนึ่ง
/data/local
แล้วติดตั้งแอพ แต่ขึ้นอยู่กับการตั้งค่าและรายการจะถูกติดตั้งทั้งภายในหรือภายนอกโดยตรงจากที่นั่น // ถ้าคุณชอบที่จะพูดถึงในรายละเอียด: คุณจำผับอะแฮ่มแชทของเราได้ไหม :)
ติดตั้ง "Terminal Emulator สำหรับ Android" ในมือถือของคุณและเปิด
$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]
ไปที่ "จัดการแอพ" จากนั้นเลือกแท็บ "ทั้งหมด" และค้นหา "Google Play Store" เลือกที่มันแล้วกดปุ่ม "ถอนการติดตั้งการปรับปรุง" หลังจากนั้นไปที่ Play Store แอพทั้งหมดจะถูกติดตั้งบนการ์ด SD ของคุณ นี่คือสิ่งที่ฉันทำใน QMobile A110 (Android 4.2)
สิ่งที่เป็นคุณสามารถเปลี่ยนไดเรกทอรีติดตั้งเริ่มต้นหากโทรศัพท์ของคุณรูท ดาวน์โหลด lucky patcher และเลือกเครื่องมือที่นั่นคุณสามารถหาตัวเลือกในการเปลี่ยนเส้นทางการติดตั้งเริ่มต้น ** อย่าทำเช่นนี้สำหรับ Android 4 หรือสูงกว่าหรืออาจทำให้เกิดการเปลี่ยนแปลงกลับไม่ได้ **