ไม่สามารถย้ายแอพจำนวนน้อยไปยังการ์ด SD


9

ฉันมีแอพเช่นAny.DOและAK Notepadติดตั้งในโทรศัพท์ Samsung Galaxy Y Android 2.3.6 ของฉัน ฉันลองใช้Titanium BackupและApp 2 SD (ย้ายแอปไปยัง SD) แล้วแต่ยังไม่สามารถย้ายแอพเหล่านี้ไปยังการ์ด SD ได้เลย เกิดอะไรขึ้น มีคนช่วยฉันที่นี่ได้ไหม


1
จะเกิดอะไรขึ้นหากคุณพยายามย้ายแอพไปยัง SD
Flow

1
@ ดูคำตอบของฉัน แอพทั้งสองมีเครื่องมือที่รวมเข้าด้วยกันดังนั้นจึงน่าจะไม่รองรับ App2SD
Izzy

หากคุณต้องการย้ายแอพของคุณไปยังการ์ด SD เพราะ "ที่เก็บข้อมูลภายในต่ำ" ให้ไปตรวจสอบandroid.stackexchange.com/questions/30620/…
Sylvain Huard

คำตอบ:


7

แอปต้องสนับสนุน App2SD อย่างชัดเจนหรือคุณไม่สามารถย้ายไปยังการ์ดได้ มีสาเหตุหลายประการที่แอปอาจไม่รองรับ:

  • การใช้วิดเจ็ต (ทั้งแอพที่กล่าวถึงดูเหมือนจะตกอยู่ในหมวดหมู่นี้ AK Notepad: "ตรึงโน้ตไปที่หน้าจอหลักของคุณ"; Any.DO: "คุณยังสามารถเพิ่มวิดเจ็ตของเราไปยังหน้าจอหลักของคุณ")
  • ใช้บริการ

เนื่องจาก sdcard จะไม่สามารถเข้าถึงได้เมื่อเชื่อมต่อกับคอมพิวเตอร์ทั้งสองสิ่งจะ "ขัดข้อง" (เนื่องจากไม่สามารถเข้าถึงข้อมูลและอื่น ๆ ได้อีก) แน่นอนว่ามีความเป็นไปได้เสมอที่นักพัฒนาไม่สนใจ - ในกรณีนี้คุณควรติดต่อเขาและถาม


ฉันพบกรณีที่น่าสนใจ - แอปf-droid.org/repository/browse/?fdid=com.nanoconverter.zlabซึ่งมีข้อบกพร่อง - มีบริการพื้นหลังและเครื่องมือ แต่ 4.2.2 ของฉันสามารถย้ายไปที่ การ์ด SD (สูญเสียฟังก์ชันการทำงานนั้น, ofc)
ให้คำปรึกษาฟรี

3

มีปัจจัยบางอย่างที่อาจส่งผลกระทบต่อสิ่งนี้:

  1. แอปต้องประกาศอย่างชัดเจนว่าเป็นที่นิยม / เป็นไปได้ที่จะติดตั้งในการ์ด SD

    เริ่มต้นด้วย API ระดับ 8 คุณสามารถอนุญาตให้แอปพลิเคชันของคุณติดตั้งในที่จัดเก็บข้อมูลภายนอก (เช่นการ์ด SD ของอุปกรณ์) นี่เป็นฟีเจอร์เสริมที่คุณสามารถประกาศให้แอปพลิเคชันของคุณด้วยandroid:installLocationคุณสมบัติรายการ หากคุณไม่ได้ประกาศคุณลักษณะนี้แอปพลิเคชันของคุณจะถูกติดตั้งบนที่เก็บข้อมูลภายในเท่านั้นและไม่สามารถย้ายไปยังที่จัดเก็บข้อมูลภายนอกได้

    (เน้นเหมือง)

  2. แอปตั้งค่าให้คอมไพล์โดยใช้ API 7 (Froyo) หรือต่ำกว่าซึ่งไม่รองรับการติดตั้งแอพในการ์ด SD (แม้ว่าจะติดตั้งบน GingerBread หรืออุปกรณ์ที่ใหม่กว่า)

    ความสามารถในการติดตั้งแอปพลิเคชันของคุณบนที่จัดเก็บข้อมูลภายนอกเป็นคุณสมบัติที่มีเฉพาะในอุปกรณ์ที่ใช้ API ระดับ 8 (Android 2.2) หรือสูงกว่า โปรแกรมที่มีอยู่ที่ถูกสร้างขึ้นก่อนที่จะมี API ระดับ 8 จะติดตั้งในพื้นที่เก็บข้อมูลภายในและไม่สามารถย้ายไปจัดเก็บข้อมูลภายนอก (แม้บนอุปกรณ์ที่มีระดับ API 8) อย่างไรก็ตามหากแอปพลิเคชันของคุณถูกออกแบบมาเพื่อรองรับระดับ API ต่ำกว่า 8 คุณสามารถเลือกที่จะสนับสนุนคุณสมบัตินี้สำหรับอุปกรณ์ที่มีระดับ API 8 หรือสูงกว่าและยังสามารถใช้งานร่วมกับอุปกรณ์ที่ใช้ระดับ API ต่ำกว่า 8 ได้

    (เน้นเหมือง)

เหตุผลที่บางแอปไม่นิยมติดตั้งบนการ์ด SD มีดังต่อไปนี้:

เมื่อผู้ใช้เปิดใช้งานที่เก็บข้อมูลขนาดใหญ่ USB เพื่อแชร์ไฟล์กับคอมพิวเตอร์ของพวกเขา (หรือยกเลิกการต่อเชื่อมหรือลบที่เก็บข้อมูลภายนอก) แอปพลิเคชันใด ๆ ที่ติดตั้งบนที่เก็บข้อมูลภายนอกและกำลังทำงานอยู่ในปัจจุบัน ระบบไม่รู้จักแอปพลิเคชันอย่างมีประสิทธิภาพจนกว่าที่เก็บข้อมูลจำนวนมากจะถูกปิดใช้งานและที่จัดเก็บข้อมูลภายนอกจะถูกติดตั้งใหม่บนอุปกรณ์ นอกเหนือจากการฆ่าแอปพลิเคชันและทำให้ผู้ใช้ไม่สามารถใช้งานได้สิ่งนี้อาจทำให้แอปพลิเคชั่นบางประเภทเสียหายอย่างรุนแรงมากขึ้น เพื่อให้แอปพลิเคชันของคุณทำงานอย่างสม่ำเสมอตามที่คาดไว้คุณไม่ควรอนุญาตให้แอปพลิเคชันของคุณติดตั้งในที่จัดเก็บข้อมูลภายนอกหากแอปพลิเคชันใช้คุณสมบัติต่อไปนี้

  • บริการ

    การทำงานของคุณServiceจะถูกฆ่าและจะไม่ถูกรีสตาร์ทเมื่อมีการจัดเก็บข้อมูลภายนอกอีกครั้ง [ ... ]

  • บริการปลุก

    การเตือนของคุณที่ลงทะเบียนด้วยAlarmManagerจะถูกยกเลิก [ ... ]

  • เอ็นจินวิธีการอินพุต

    IME ของคุณจะถูกแทนที่ด้วย IME เริ่มต้น [ ... ]

  • วอลเปเปอร์สด

    วอลล์เปเปอร์สดที่ทำงานอยู่ของคุณจะถูกแทนที่ด้วยวอลล์เปเปอร์สดเริ่มต้น [ ... ]

  • วิดเจ็ตแอป

    วิดเจ็ตแอพของคุณจะถูกลบออกจากหน้าจอหลัก เมื่อที่จัดเก็บข้อมูลภายนอกถูกประกอบใหม่ Widget แอปของคุณจะไม่สามารถให้ผู้ใช้เลือกได้จนกว่าระบบจะรีเซ็ตแอปพลิเคชันที่บ้าน

  • ผู้จัดการบัญชี

    บัญชีของคุณที่สร้างขึ้นAccountManagerจะหายไปจนกว่าจะมีการจัดเก็บข้อมูลภายนอกอีกครั้ง

  • ซิงค์อะแดปเตอร์

    AbstractThreadedSyncAdapterฟังก์ชันการซิงค์ของคุณและทั้งหมดจะไม่ทำงานจนกว่าจะมีการจัดเก็บข้อมูลภายนอกอีกครั้ง

  • ผู้ดูแลอุปกรณ์

    DeviceAdminReceiverความสามารถด้านการดูแลระบบของคุณและของคุณทั้งหมดจะถูกปิดการใช้งานซึ่งอาจส่งผลกระทบที่ไม่อาจคาดการณ์ได้สำหรับการทำงานของอุปกรณ์ซึ่งอาจยังคงมีอยู่หลังจากที่จัดเก็บภายนอกอีกครั้ง

  • Broadcast Receivers กำลังฟัง "boot boot"

    ระบบจะส่งACTION_BOOT_COMPLETEDสัญญาณออกอากาศก่อนที่จะจัดเก็บข้อมูลภายนอกเข้ากับอุปกรณ์ หากแอปพลิเคชันของคุณติดตั้งในที่จัดเก็บข้อมูลภายนอกจะไม่สามารถรับการถ่ายทอดนี้ได้

หากแอปพลิเคชันของคุณใช้คุณสมบัติใด ๆ ที่ระบุไว้ข้างต้นคุณไม่ควรอนุญาตให้แอปพลิเคชันของคุณติดตั้งในที่จัดเก็บข้อมูลภายนอก

(บางส่วนถูกทำซ้ำพวกเขาอธิบายว่าผู้พัฒนาต้องทำอย่างไรเพื่อให้แอพทำงานได้อย่างถูกต้องหลังจาก SD card ถูกประกอบใหม่)

หมายเหตุ : คำตอบนี้ทำหน้าที่เป็นข้อมูลทั่วไปเพื่อ "ทำไมบางแอปไม่สามารถย้ายไปยังการ์ด SD"

ที่มา: พัฒนา Android: ติดตั้งแอปสถานที่ตั้ง


1

แน่นอนว่าเป็นไปได้ที่จะย้ายแอพไปยังการ์ด SD และยังคงทำงานอย่างสมบูรณ์แบบ (รวมถึงวิดเจ็ตและบริการ) ผ่าน Link2SD

แก้ไข: การใช้วิธีนี้ต้องใช้การเข้าถึงรูทบนโทรศัพท์ของคุณและต้องฟอร์แมตการ์ด SD ของคุณเพื่อให้มีพาร์ติชันที่สองอยู่

เพื่อหลีกเลี่ยงการโพสต์คำตอบซ้ำอีกครั้งที่นี่ฉันจะวางลิงก์ไปที่: https://android.stackexchange.com/a/145591/167026

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