คุณสามารถแสดงรายการไดเรกทอรีที่เป็นไปได้ทั้งหมดที่แอพ Android อาจจัดเก็บข้อมูลโดยให้คำอธิบายว่ามีการจัดเก็บข้อมูลประเภทใดไว้ในแต่ละไดเรกทอรี
คุณสามารถแสดงรายการไดเรกทอรีที่เป็นไปได้ทั้งหมดที่แอพ Android อาจจัดเก็บข้อมูลโดยให้คำอธิบายว่ามีการจัดเก็บข้อมูลประเภทใดไว้ในแต่ละไดเรกทอรี
คำตอบ:
ปพลิเคชันทั้งหมด (รากหรือไม่) /data/data/<package_name>
มีไดเรกทอรีข้อมูลเริ่มต้นซึ่งเป็น ตามค่าเริ่มต้นฐานข้อมูลแอพการตั้งค่าและข้อมูลอื่น ๆ ทั้งหมดจะอยู่ที่นี่ หากแอปคาดว่าจะมีการจัดเก็บข้อมูลจำนวนมากหรือด้วยเหตุผลอื่นที่ต้องการ "ดีต่อการจัดเก็บข้อมูลภายใน" แสดงว่ามีไดเรกทอรีที่เกี่ยวข้องใน SDCard ( Android/data/<package_name>
)
นอกจากนั้นแอพทั้งหมดสามารถจัดเก็บข้อมูลได้ทุกที่ใน SDCard เนื่องจากไม่มีข้อ จำกัด และแอพจำนวนมากทำเช่นนั้น พวกเขาสามารถใช้ชื่อไดเรกทอรีได้อย่างอิสระ (และพวกเขาทำอีกครั้ง) ซึ่งเป็นสิ่งที่ทำให้ยากที่จะตัดสินใจว่า "ขยะ" ทั้งหมดบนการ์ดนั้นมีไว้เพื่ออะไรและสามารถลบอะไรได้บ้าง
แม้ว่าทอมจะระบุไว้ชัดเจนว่าแอปรูทสามารถจัดเก็บข้อมูลของพวกเขาได้เกือบทุกที่บนอุปกรณ์ของคุณพวกเขามักจะปฏิบัติตามกฎเดียวกันกับแอปอื่น ๆ
คุณสามารถหาคำอธิบายทั่วไปของลำดับชั้นไดเรกทอรี Android ในคำตอบของฉันที่นี่ สำหรับคำถามเฉพาะของคุณฉันอาจเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับ/data/data/<package_name>
(และส่วนที่เกี่ยวข้อง SD):
databases/
: ไปที่ฐานข้อมูลของแอพlib/
: ห้องสมุดและผู้ช่วยเหลือสำหรับแอปfiles/
: ไฟล์ที่เกี่ยวข้องอื่น ๆshared_prefs/
: การตั้งค่าและการตั้งค่าcache/
: ดีแคชอาจมีไดเรกทอรีหลายแห่งในที่นี้หรือน้อยกว่านั้นขึ้นอยู่กับแอพ ใน "โฮมไดเร็กตอรี่" ของตัวเอง (และนั่นคือสิ่งที่มันเป็นพื้นพูด Linux ฉลาด) พวกเขาสามารถวางไฟล์ที่พวกเขาต้องการ โดยปกติแล้วไฟล์และไดเรกทอรีเหล่านี้จะสามารถเข้าถึงได้โดยแอปเท่านั้น (และรูทแน่นอน) - นอกเหนือจากที่เก็บไว้ใน SDCard ซึ่งแอปทั้งหมดสามารถเข้าถึงได้
/data/data/<name>/files/
ที่ไฟล์ที่สร้างขึ้นตามที่อธิบายในdeveloper.android.com/guide/topics/data/...จะไป? คือผู้ที่เปิดด้วยFileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
?
/storage/emulated/0/WhatsApp/
(subdirs .Shared
, .trash
, Backups
, Databases
, Media
) รวมทั้งสื่อทั้งหมด ฉันไม่ทราบว่านี่เป็นสิ่งเพิ่มเติม\data\data...
หรือไม่ฉันไม่สามารถเข้าถึงไดเรกทอรีนี้ได้ในขณะนี้ บางทีนี่อาจมีการเปลี่ยนแปลงระหว่างรุ่น
/
) ไม่ได้อยู่ในการ์ด SD การ์ด SD หมายถึงด้านล่าง/sdcard
(การ์ดภายในจุดไปยัง/storage/emulated/<user>
) หรือเส้นทางที่สอดคล้องกันของการ์ดภายนอกของคุณ และไม่ฉันไม่สามารถอธิบายตำแหน่งที่เป็นไปได้ทั้งหมดที่บางแอพอาจใช้ขออภัย AFAIK /data/misc
ได้รับการจัดการโดยระบบ Android เองดังนั้น "แอปพลิเคชัน" ที่ดีที่สุดควรเข้าถึงการอ่าน ไม่เคยเจอdata/user_de
(เพราะเป็นเส้นทางญาติฉันไม่รู้ว่าคุณหมายถึงยังไง)
คำตอบสำหรับคำถามที่คุณถามนั้นใหญ่เกินไป อย่างไรก็ตามฉันสามารถให้คำตอบพื้นฐานซึ่งครอบคลุมพื้นฐานได้
แอพมีสองประเภท:
รูทและไม่ใช่รูท
แอปรูทสามารถจัดเก็บ / แก้ไขไฟล์ได้ทุกที่ที่ต้องการ แอปที่
ไม่ใช่รูทสามารถจัดเก็บ / แก้ไขไฟล์ได้ที่นี่: /sdcard/
และทุก ๆ โฟลเดอร์ที่เกิดขึ้นหลังจากนั้น
ส่วนใหญ่ปพลิเคชันที่ติดตั้งตัวเองที่เก็บหรือ/sdcard/Android/data
ปพลิเคชันบางเก็บบันทึกเกม / ไฟล์ข้อมูลการกำหนดค่าของพวกเขาในหรือเพียงแค่บน
เพื่อให้สามารถใช้รากปพลิเคชันที่คุณจะต้องได้ฝังรากอุปกรณ์ Android ของคุณและได้รับอนุญาตจากหนึ่งในปพลิเคชันใช้ super/sdcard/Android/obb
/sdcard/APPNAME/
/sdcard/