טיפים שימושיים

קבלת הנתיב לכרטיס SD של Android

Pin
Send
Share
Send
Send


| 18.04.2017

זה לא סוד שמערכת ההפעלה אנדרואיד נפוצה בעולם המובייל.

שימוש כה נרחב בבן המוח מ גוגל מעורר עלייה במספר פיגועי האקרים בפלטפורמה זו. כדי להתמודד עם הרגע הלא נעים הזה, ענקית ה- IT מנסה להציג תכונות חדשות שמטרתן להגביר את האבטחה של בעלי מכשירים עם מערכת האנדרואיד, אך חלק מהפונקציות הללו עשויות להפוך למקור לאי נוחות נוספת. להלן כיצד להיפטר מאחת מאי הנוחות הללו.

הגבלת הגישה לכרטיס הזיכרון

מדוע לתכניות אנדרואיד אין גישה לשורש כרטיס ה- sd?
העובדה היא שגישה פתוחה לשורש הכונן היא חור אבטחה גדול במערכת ההפעלה כולה. גוגל עשתה ניסיונות להגן על משתמשים מפני משתמשים זדוניים, הגבלת הגישה לכרטיס זיכרון.

מצב זה לא מתאים לכולם, לכן להלן נשקול דרך להחזיר לתוכניות צד שלישי גישה לשורש כרטיס הזיכרון.

NextApp SDFix

מיד נציין כי בכדי לפתור את הבעיה אנו זקוקים לזכויות שורש למשתמש במערכת אנדרואיד. במאמר אנו מסירים מודעות ב- Android. קובץ מארחים כבר נגענו בהגדרה זו. להלן קטע קצר:

שורש - אלה זכויות משתמש-על במערכות דמויות UNIX. ליתר דיוק, אם כן שורש - זהו חשבון שלבעלים זכויות הרשאות גישה ושינויים במערכת הקבצים

כך שלמעשה יש לנו שתי אפשרויות:

  • תוכנה (במצב אוטומטי),
  • ידני (עריכת קבצי מערכת).

כדי להשתמש בשיטת התוכנה עלינו להוריד את היישום למכשיר שלנו SDFix: MicroSD לכתיבה KitKat מחברה Nextapp מחנות Google Play או מהקובץ המצורף למאמר זה: nextapp.sdfix

התקן את התוכנית והפעל אותה, נותן אישור לשורש

אנו מסכימים לבצע שינויים ולחץ על כפתור המשך
לאחר המתנה מסוימת, התוכנית תציג הודעה על השלמת הפעולה בהצלחה

בנוסף, לפני ביצוע שינויים בתוכנית SDFix יוצר עותק גיבוי של קבצים הניתנים לעריכה, שנשמר לאורך הדרך

במידת הצורך, אנו תמיד יכולים לשחזר את הקובץ המקורי, לאחר שמחקנו בעבר את הסיום מקורי-מקדימה בשמו. הקובץ מוחלף באנלוגיה עם שינויו, תהליך זה מתואר להלן.

מתן ידנית גישה לכרטיס זיכרון באנדרואיד

פתרון בעיות הקלטה לכרטיס SD חיצוני ב- Android 4.4+ אפשרי גם במצב ידני.
יש להבין שתוכנת SDFix הנ"ל מבצעת רק פונקציה אחת, אותה ניתן לשחזר באופן עצמאי.

יתר על כן, אם התוכנית יוצרת שגיאה במהלך הפעולה, ייתכן שביצוע אותה פעולה ידנית עשוי להוכתר בהצלחה.

להלן הוראות שלב אחר שלב לעריכת קובץ platform.xml

  1. אנו מבצעים גיבוי של מערכת הסמארטפונים. אנו זקוקים לגיבוי בכדי שנוכל להתהפך במקרה של נסיבות וכישלונות בלתי צפויים. אתה יכול פשוט ליצור עותק של הקובץ שאנחנו הולכים לערוך, אבל זה יהיה אמין יותר לבצע גיבוי מלא של המערכת מהשחזור
  2. עכשיו הפעל כל מנהל קבצים אנדרואיד, נניח שזה יהיה מפקד מוחלט
  3. עבור לספרייה
  4. העתק את הקובץ מהספרייה platform.xml לכל מקום נוח
  5. פתח את הקובץ שנוצר באמצעות עורך טקסט כדי לבצע שינויים
  6. אנו מוצאים בקובץ פיסת קוד שנראית כמו:
  7. ולפני תג הסגירה, כתוב את השורה הבאה:

כתוצאה מכך עלינו לקבל את שבר הקוד הבא:

  • שמור שינויים
  • העתק את הקובץ הערוך לתיקיה / מערכת / וכו '/ הרשאות /, מסכים להחליף (כלומר כשתתבקש, לחץ על החלף)
  • כעת במאפייני הקובץ הגדרנו לו זכויות rw-r - r-- (הקוד התואם להגדרה זו הוא 0644)
  • אנו מפעילים את המכשיר מחדש.
  • זה הכל. לאחר שהמכשיר שלך יתחיל, יישומי צד שלישי יוכלו לכתוב את הנתונים שלהם לשורש כרטיס הפלאש שלנו.

    סיפקנו גישה לשורש כרטיס הזיכרון עבור תוכניות אנדרואיד.

    זכויות מלאות ואפשרויות ללא גבולות.

    המינוח

    גוגל אומרת לנו שיש את המושגים הבאים:

    1. פנימי (פנימי) הזיכרון הוא חלק מכרטיס הזיכרון המובנה בטלפון. בעת השימוש בה, כברירת מחדל, תיקיית היישום מוגנת מפני גישה על ידי יישומים אחרים (שימוש באחסון הפנימי).
    2. חיצוני (חיצוני) זיכרון הוא "אחסון חיצוני" נפוץ, כלומר זה יכול להיות חלק מהזיכרון הפנימי או התקן נשלף. בדרך כלל זה חלק מהזיכרון המובנה, בפעם האחרונה שראיתי מכשיר נשלף באנדרואיד 2.2, שם הזיכרון המובנה היה בערך 2 ג'יגה-בייט, והזיכרון המחובר הפך לחיצוני (באמצעות האחסון החיצוני).
    3. ניתן למחיקה (נשלף) זיכרון - כל האחסון שניתן להסיר מהמכשיר ללא התערבויות "כירורגיות".

    לפני KitKat 4.4, ה- API לא סיפק פונקציונליות להשגת נתיבים לזיכרון החיצוני. החל מגירסה זו (API 19), הפונקציה הקובץ המופשט הציבורי [] getExternalFilesDirs (סוג מחרוזת), המחזיר מערך של מיתרים עם נתיבים לזיכרון הפנימי והחיצוני. אבל מה עם כרטיס ה- SD שלנו, המוחדר לחריץ? הדרך אליו אנו שוב לא יכולים להגיע.

    שיטה 1 (אפשרות פשוטה)

    לאחר התקנת Root בסמארטפון או בטאבלט אנדרואיד שלך, עבור לחנות האפליקציות של Google Play והורד SDFix: MicroSD לכתיבה KitKat (חינם). לאחר ההתקנה, עבור ליישום SDFix ולחץ על "המשך"

    ואז המתן מספר שניות עד לתיקון השגיאה. סגור את SDFix והפעל מחדש את Android כדי שהשינויים ייכנסו לתוקף! זה הכל!

    שיטה 2 (פשוט, אפשרות למי שרוצה לדעת יותר)

    השיטה שתוארה לעיל היא אוטומטית, אך ניתן לתקן אותה ביד, מה גם שהיא אינה קשה כלל וכלל! לשם כך, עליך להתקין את יישום מנהל הקבצים, למשל ES Explorer, לאחר שתיתן תחילה גישה לשורש למחיצת המערכת.

    עבור אל מנהל הקבצים למחיצת המערכת:

    ואז פתח אותו עם עורך הטקסט המובנה ES Explorer

    הוסף פרמטר נוסף ממש מתחת.

    הפעל מחדש את הטלפון החכם או הטאבלט של אנדרואיד כדי שהשינויים ייכנסו לתוקף! הבעיה בגישה לכרטיס הזיכרון נפתרה!

    השיטה בנוכחות גישה לשורש (כל מנהל שורש מתאים).

    אז ראשית, אנו זקוקים לתוכנית SDFix (היא זמינה ב- Google Play), נפתח את הקישור ולחץ על התקן.

    אנו מתחילים, קוראים את האזהרה שאפשר לשבור את הטלפון, אך מזל שיש לנו לחץ על הכפתור המשך.

    שים תיבה בתיבת הסימון ולחץ שוב. המשך

    לאחר לחיצה על היישום התוכנית תדרוש גישה שורש מהמכשיר, אם ברשותך SuperSU, אז אנו נותנים שורש, אם לא, אנו רואים הודעה זו:

    כאמור, אני אשתמש בשורש המובנה, אז אנו מחפשים את "בטיחות»בשולחן העבודה והפעל את היישום. לחץ על הכפתור "הרשאות«.

    ואנחנו מקישים על ה- SDFix שלנו, אם אין לך את זה ברשימות, לא עברת את הצעדים הראשונים של הוראה זו, להשתמש בשורש הרגיל, יש צורך בבקשה מהיישום.

    אנו ממתינים חמש שניות ומאשרים את ההיתר להעניק זכויות מוגדלות.

    פתח שוב את SDFix וחזור על הצעדים הראשונים של הוראות זו, הפלט יהיה החלון הבא.

    כתוב כי הגישה לכונן הבזק מסוג USB התקבלה על ידי כל היישומים שביקשו זאת ועליך להפעיל מחדש את הטלפון. אנו מפעילים מחדש ונזכרים כי לאחר עדכון הקושחה, יש לחזור על השלבים.

    שיטה לטלפונים ללא שורש

    אם מישהו עדיין לא מבין, אז כמעט כל האתר הזה הוא שכתוב איכותי, טקסט על המתחם, שנכתב בשפה הפשוטה ביותר האפשרית באופן אישי על ידי. אני לא מציין את המקורות, כיוון שאני רק מחפש השראה במאמרים של אנשים אחרים ולא מנסה להעתיק אותם. אז הנה שלחו קישור למאמר בשיטה זו בתגובה, אז מדוע לא לשכתב אותו כדי לעזור למשתמשים ללא שורש שכבר הגיעו לאתר זה.

    אני הולך לעבור ל- MIUI 8 מ- miui.su, הגישה לכונן הבזק מסוג USB היא תמיד כברירת מחדל, כך שאיני יכול לבדוק, אך לפי הרעיון, השיטה הזו יכולה להתאים גם לגרסאות אחרות של אנדרואיד.

    פתח את "הגדרות" → גלול מטה ברשימה ולחץ על "כל היישומים".

    גלול לתחתית וראה שם "מסמכים" המסומנים "מושבת". הקש עליו.

    בתחתית המסך, לחץ על כפתור "אפשר".

    הדבר המעניין ביותר הוא שזה לא נראה שמכבה אותו ידנית באופן ידני, אבל נו טוב, אנחנו לא צריכים את זה. אנו ניגשים למנהל הקבצים שהיה זקוק לגישה ובודקים את זמינותו.

    כמו הכל. אני מקווה שמאמר זה היה שימושי עבורך, לחץ על אחד מהלחצנים למטה כדי לספר לחברים על כך. הירשם גם לעדכוני אתרים על ידי הזנת הדואר האלקטרוני שלך בשדה מצד ימין או על ידי הרשמה לקבוצה ב- Vkontakte.

    תודה על תשומת הלב.

    תוצאות חיפוש

    כדי לענות על שאלה זו פניתי אל גוגל המודעת. אבל הוא לא נתן לי תשובה ברורה. אפשרויות רבות נשקלו לקביעת השימוש בפונקציות סטנדרטיות המובילות לזיכרון חיצוני, אך אין להן שום קשר למכשירי אחסון שנמחקו, לעיבוד כללי הרכבת המכשירים (אנדרואיד עובד על גרעין לינוקס). במקרים האחרונים נעשה שימוש בנתיבים "קווית" לתיקיה עם התקנים רכובים (בגירסאות שונות הספריה הזו שונה). אל תשכח כי מגירסה לגרסה כללי ההרכבה משתנים.

    בסופו של דבר החלטתי לשלב את כל הידע שנצבר וכתבתי את הכיתה שלי, שיכולה להחזיר לנו את הנתיבים למכשירים חיצוניים ונשלפים.

    תיאור קוד

    הכיתה נוצרה Mountdevice, המכיל את הנתיב להתקן, סוג המכשיר וקצת hash.
    ישנם שני סוגים של התקנים שהוקצו (לא נגעתי בזיכרון הפנימי, מכיוון שאפשר לגשת אליו דרך ממשק ה- API של המערכת).


    ונוצרה כיתה מחסן אחסון, המחפש כרטיסי זיכרון זמינים.

    מחלקת StorageHelper מיישמת שתי שיטות חיפוש - דרך סביבת המערכת (סביבה) ובעזרת כלי הלינוקס הראו ליתר דיוק התוצאה של יישומה.

    שיטה ראשונה - סביבה

    בעבודה עם הסביבה אני משתמש בפונקציה הרגילה getExternalStorageDirectory () כדי לקבל מידע על זיכרון חיצוני. כדי לקבל מידע על זיכרון שנמחק, אני משתמש במשתנה הסביבתי "SECONDARY_STORAGE".

    הזיכרון החיצוני הוא תמיד אחד ובדרך כלל הוא תמיד, ולכן אנו בודקים אותו אם הקריאות, מחשבים את החשיש וזוכרים אותו. יכול להיות הרבה זיכרון שנמחק, לכן יש לפצל את המחרוזת המתקבלת על ידי המפריד ולבדוק כל ערך.

    הפיתרון נלקח מזרם stackover. התשובה נמצאת שם איפשהו.

    שיטה שנייה - הר

    מכיוון שבמשך תקופה ארוכה לא הצלחתי לגרום למערכת להגיד לי את הנתיב לזיכרון שנמחק, החלטתי להסתכל לכיוון המכשירים המותקנים. למערכת קבצי תצורה המתארים את כללי ההתקנה של התקנים חיצוניים. הכל יהיה בסדר, אך בגירסת אנדרואיד 4. * אין גישה לבני תמותה בלבד לקובץ זה, לכן לא אתייחס לשיטה זו.

    חזרה לכלי השירות להר. כאשר הוא מופעל ללא פרמטרים, הפקודה מחזירה רשימה של מערכות קבצים מותקנות. להתקנים שנמחקו בדרך כלל יש את הפורמט של מערכת הקבצים FAT, ואז נדגיש שורות בהן יש מאפיין "שומן"זיכרון חיצוני יאופיין בפרמטר."נתיך".

    הערה: כשמשתמשים בשיטה זו, זה לא תמיד נכון (סביר להניח שלא לקחתי בחשבון משהו) נקבעים סוגי ההתקנים המותקנים. הבחנתי בהבדל בגרסאות שונות של אנדרואיד. לפיכך, ניתן להשתמש בשיטה זו כאמצעי נוסף.

    הפיתרון נלקח מזרם stackover. התשובות שם הן בערך זהות.

    על כפילות

    רבים הבחינו בתמונה הבאה בספריית הרכיב המכשיר:

    והכי מעניין, כל זה אותו כרטיס זיכרון חיצוני. פיצול כזה מתחיל בגרסת Jelly Bean והדבר נעשה על מנת לתמוך במצב מרובה המשתמשים במערכת. פרטים נוספים כאן. וכך, כדי לא לקבל את אותו כרטיס זיכרון כמו מכשירים שונים, דרושה דרך לקבוע זהות. אם הייתה גישה לתצורת הר, לא היו שאלות. אבל אין גישה. לכן, כאן מצאתי פיתרון עם חישוב hash לכל מכשיר:

    1. צור StringBuilder
    2. כתוב לו את הגודל הכולל של המכשיר וגודל השטח המשומש של ההתקן
    3. עקוף את תוכן שורש המכשיר
    4. כתוב את שם הספרייה
    5. כתוב את שם הקובץ וגודל
    6. חישוב חשיש

    Pin
    Send
    Share
    Send
    Send