דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. אנדרואיד - כללי
  3. מדריכים - אנדרואיד
  4. מדריך | קצת על Magisk Modules

מדריך | קצת על Magisk Modules

מתוזמן נעוץ נעול הועבר מדריכים - אנדרואיד
7 פוסטים 4 כותבים 1.1k צפיות 8 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • איש אמתא מנותק
    איש אמתא מנותק
    איש אמת
    מדריכים
    כתב ב נערך לאחרונה על ידי איש אמת
    #1

    היי שלום לכולם
    לפני תקופה ישבתי על הפורום וראיתי מלא שאלות איך מוסיפים אפליקציית מערכת, איך עושים שסקריפט ירוץ בהפעלת המכשיר, איך מוסיפים שורה ל Bulid.Prop ואיך נותנים הרשאות לקבצים
    אז הרמתי את הכפפה והחלטתי לבנות אפליקציה שתריץ את הנ"ל במתן לחיצה אחת, אממה שהפרויקט התעכב ואז גיליתי מחדש את ה-
    logo.png
    היום נדבר קצת על Magisk Modules
    על המבנה של המודל ואיך בונים אותו, מה הקבצים המשמשים אותו, ומה אפשר לעשות אתו
    לפני שנתחיל בואו נעשה קצת סדר בנושאים שאני רוצה לדבר עליהם

    • מה הם Magisk modules
    • סוגי הקבצים ב module
    • מבנה הקבצים ב module
    • מבנה הקבצים ב module מחולץ
    • בניית module משלנו
    • פתרונות נפוצים

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

    cb3c2eef-dd2a-48a3-a2a0-b9c2116e4768-image.png

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

    #- ישנם כמה ספריות מודולים ריקות שמופצות לציבור כגון MMT Extended או Magisk Template שאותם נוריד ונערוך

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

    סוגי הקבצים ב module

    (הקבצים הפופולאריים - מתייחס ל- magisk template)

    • module.prop

      • זהו קובץ התמיכה של המודל והוא מכיל את השם, תיאור, מפתח, וכד'.
    • config.sh

      • זהו קובץ ההגדרות של המודל
    • תיקיית system

      • מכילה את קבצי ההחלפה/הוספה למערכת
    • common (תיקייה)

      • system.prop
        • מכיל את הגדרות ה Bulid.Prop החדשות
      • service.sh
        • סקריפט המכיל פקודות שיעלו בעת הפעלת המכשיר בעת הרצת פקודות השירות
      • post-fs-data.sh
        • סקריפט המכיל פקודות שיעלו בעת הפעלת המכשיר קודם פקודות האתחול

    מבנה הקבצים ב module

    module.prop

    הפורמט המחמיר של module.prop:

    id=<string>
    name=<string>
    version=<string>
    versionCode=<int>
    author=<string>
    description=<string>
    updateJson=<url> (optional)
    

    לאלו שלא מונחים בנושא:
    string= טקסט
    (integer)int= מספר שלם
    url= קישור
    optional= לא חובה

    ועכשיו ביותר פירוט:
    #- בערך id נוסיף מזהה לאפליקציה בפורמט התווים האלו ^[a-zA-Z][a-zA-Z0-9._-]+$ בלבד, למשל:
    7afd47d5-e902-4ba3-b048-9ef97b120f9b-image.png
    #- בערך name הכניסו את שם המודל
    #- בערך version הכניסו את מספר הגרסה הפונה לציבור (תוכלו להכניס גם בשילוב מספרים = 1.6V-Bate-alpa
    #- בערך versionCode הכניסו את מספר הגרסה לצורך השוואה בין גרסאות - ניתן להכניס אך ורק ערך מסוג int
    #- בערך author הכניסו את שם המפתח
    #- בערך description הכניסו תיאור קצר על המודל שלכם
    #- בערך updateJson הכניסו כתובת URL ששולחת Json עם קובץ מעודכן

    config.sh

    ##########################################################################################
    #
    # Magisk
    # by topjohnwu
    # 
    # This is a template zip for developers
    #
    ##########################################################################################
    ##########################################################################################
    # 
    # Instructions:
    # 
    # 1. Place your files into system folder (delete the placeholder file)
    # 2. Fill in your module's info into module.prop
    # 3. Configure the settings in this file (common/config.sh)
    # 4. For advanced features, add shell commands into the script files under common:
    #    post-fs-data.sh, service.sh
    # 5. For changing props, add your additional/modified props into common/system.prop
    # 
    ##########################################################################################
    
    ##########################################################################################
    # Defines
    ##########################################################################################
    
    # NOTE: This part has to be adjusted to fit your own needs
    
    # This will be the folder name under /magisk
    # This should also be the same as the id in your module.prop to prevent confusion
    MODID=template
    
    # Set to true if you need to enable Magic Mount
    # Most mods would like it to be enabled
    AUTOMOUNT=true
    
    # Set to true if you need to load system.prop
    PROPFILE=false
    
    # Set to true if you need post-fs-data script
    POSTFSDATA=false
    
    # Set to true if you need late_start service script
    LATESTARTSERVICE=false
    
    ##########################################################################################
    # Installation Message
    ##########################################################################################
    
    # Set what you want to show when installing your mod
    
    print_modname() {
      ui_print "*******************************"
      ui_print "     Magisk Module Template    "
      ui_print "*******************************"
    }
    
    ##########################################################################################
    # Replace list
    ##########################################################################################
    
    # List all directories you want to directly replace in the system
    # By default Magisk will merge your files with the original system
    # Directories listed here however, will be directly mounted to the correspond directory in the system
    
    # You don't need to remove the example below, these values will be overwritten by your own list
    # This is an example
    REPLACE="
    /system/app/Youtube
    /system/priv-app/SystemUI
    /system/priv-app/Settings
    /system/framework
    "
    
    # Construct your own list here, it will overwrite the example
    # !DO NOT! remove this if you don't need to replace anything, leave it empty as it is now
    REPLACE="
    "
    
    ##########################################################################################
    # Permissions
    ##########################################################################################
    
    # NOTE: This part has to be adjusted to fit your own needs
    
    set_permissions() {
      # Default permissions, don't remove them
      set_perm_recursive  $MODPATH  0  0  0755  0644
    
      # Only some special files require specific permissions
      # The default permissions should be good enough for most cases
    
      # Some templates if you have no idea what to do:
    
      # set_perm_recursive  <dirname>                <owner> <group> <dirpermission> <filepermission> <contexts> (default: u:object_r:system_file:s0)
      # set_perm_recursive  $MODPATH/system/lib       0       0       0755            0644
    
      # set_perm  <filename>                         <owner> <group> <permission> <contexts> (default: u:object_r:system_file:s0)
      # set_perm  $MODPATH/system/bin/app_process32   0       2000    0755         u:object_r:zygote_exec:s0
      # set_perm  $MODPATH/system/bin/dex2oat         0       2000    0755         u:object_r:dex2oat_exec:s0
      # set_perm  $MODPATH/system/lib/libart.so       0       0       0644
    }
    
    

    #- הגדרות המודל -#
    #- בערך MODID נשנה לשם ה id שנתנו למודל בקובץ module.prop
    #- בערך AUTOMOUNT (בוליאני) נבחר האם יש לנו קבצים בתיקיית system שבמודל שטעונים העברה/עדכון ל/במערכת
    #- בערך PROPFILE (בוליאני) נגדיר האם יש לנו שינויים בקובץ system.prop שנרצה שיכנסו לבסוף לקובץ Bulid.Prop
    #- בערך POSTFSDATA (בוליאני) נגדיר האם יש לנו סקריפטים בקובץ post-fs-data.sh שדורשים הבהוב במצב post-fs-data
    #- בערך LATESTARTSERVICE (בוליאני) נגדיר האם יש לנו סקריפטים בקובץ service.sh שדורשים הבהוב במצב late start

    #- הדפסת UI -#
    #- בערך print_modname נכניס במקום Magisk Module Template את השם של המודל כדי ליצור הדפסת UI עם השם של המודל שלנו בלוג התקדמות של הצריבה

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

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

    תיקיית system

    בתיקיה הזאת נניח את הקבצים בצורה שברצוננו להניח אותם בסיסטם האמיתי למשל ניקח את אפליקציית systemUI ונרצה להחליף אותה דרך מודל אז נפרוס את הנ"ל לתוך הסיסטם שבמודל בצורה כאילו היה בסיסטם - system/priv-app/systemUI וכן כל קובץ (system/media/bootimege.png) והם באופן רקורסיבי יתעדכנו בסיסטם (עיינו טוב מה זה אופן רקורסיבי...)

    #- כאמור לעיל ישנו דגל פעולה בשם .replace שאם ישנו בתיקיות הסופיות הוא מצביע על החלפת אותה תיקיה עם רעותה בסיסטם ללא מיזוג הקבצים לדוגמה /system/app/YouTube/.replace יחליף את תיקיית YouTube שבמודל עם זאת שבסיסטם

    מבנה הקבצים במודל מחולץ

    כאשר Magisk טוען את המודלים, הוא מפרק אותם לתיקיית שם המודל/data/adb/modules משום שתיקייה זו אינה נגישה ללא הרשאות רוט ואינה סיסטם

    #- קבצים בפירוק -#

    /data/adb/modules
    ├── .
    ├── .
    |
    ├── $MODID                  <--- התיקיה נקראת בשם המזהה של המודול
    │   │
    │   │      *** מידע מודל ***
    │   │
    │   ├── module.prop         <--- קובץ זה מאחסן את המטא נתונים של המודול
    │   │
    │   │      *** התוכן העיקרי ***
    │   │
    │   ├── system              <--- תיקיה זו תותקן אם ציינתם אישור ב AUTOMOUNT
    │   │   ├── ...
    │   │   ├── ...
    │   │   └── ...
    │   │
    │   ├── zygisk              <--- תיקיה זו מכילה את הספריות המקוריות של המודול Zygisk
    │   │   ├── arm64-v8a.so
    │   │   ├── armeabi-v7a.so
    │   │   ├── x86.so
    │   │   ├── x86_64.so
    │   │   └── unloaded        <--- דגל, כשקיים כנראה שהספריות המקוריות אינן תואמות
    │   │
    │   │      *** דגלי מצב ***
    │   │
    │   ├── skip_mount          <--- אם הדגל (קובץ) קיים, Magisk לא תטען את השינויים לסיסטם
    │   ├── disable             <--- אם קיים, המודול יושבת
    │   ├── remove              <--- אם קיים, המודול יוסר באתחול מחדש הבא
    │   │
    │   │      *** קבצים אפשריים ***
    │   │
    │   ├── post-fs-data.sh     <--- סקריפט זה יבוצע בשירות-post-fs-data
    │   ├── service.sh          <--- סקריפט זה יבוצע בשירות late_start
    |   ├── uninstall.sh        <--- סקריפט זה יתבצע כאשר Magisk תסיר את המודול שלך
    │   ├── system.prop         <--- מאפיינים בקובץ זה ייטענו כמאפייני מערכת על ידי resetprop
    │   ├── sepolicy.rule       <--- כללי מדיניות מותאמים אישית נוספים
    │   │
    │   │      *** נוצר אוטומטית, אין ליצור או לשנות באופן ידני ***
    │   │
    │   ├── vendor              <--- A symlink to $MODID/system/vendor
    │   ├── product             <--- A symlink to $MODID/system/product
    │   ├── system_ext          <--- A symlink to $MODID/system/system_ext
    │   │
    │   │      *** כל קבצים/תיקיות נוספים מותרים ***
    │   │
    │   ├── ...
    │   └── ...
    |
    ├── מודלים נוספים
    │   ├── .
    │   └── .
    ├── .
    ├── .
    

    #- דגלי מצב -#
    #- skip_mount / disable / remove דגלים אלו מורים ל Magisk לבצע פעולות מסוימות
    נסו בבית: התקינו מודל כל שהוא וכנסו לנתיב הזה שם המודל/data/adb/modules ותזכרו את הקבצים הנוכחים, כעת חיזרו ל Magisk והקליקו להשבתת המודל, כעת חיזרו לסייר ותראו שהתווסף לנו הקובץ disable שהוא מורה ל Magisk להשבית את המודל תוכלו למחוק אותו משם ולחזור ל Magisk ולראות שהופ המודל כבר לא מושבת, ככה גם בהסרה של המודל יתווסף לנו הדגל remove

    בניית module משלנו

    המשך יבוא בעזרת ה'

    אה רגע לני שאני בורח, יש כמה קרדיטים
    #- קרדיט לגרפים תרשימים והגדרות
    #- קרדיט על על ה template והicon

    אני יודע שאני חושב שאני יודע.

    זונדלז אליר325000א 2 תגובות תגובה אחרונה
    34
    • איש אמתא מנותק
      איש אמתא מנותק
      איש אמת
      מדריכים
      כתב ב נערך לאחרונה על ידי
      #2

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

      אני יודע שאני חושב שאני יודע.

      תגובה 1 תגובה אחרונה
      4
      • איש אמתא איש אמת

        היי שלום לכולם
        לפני תקופה ישבתי על הפורום וראיתי מלא שאלות איך מוסיפים אפליקציית מערכת, איך עושים שסקריפט ירוץ בהפעלת המכשיר, איך מוסיפים שורה ל Bulid.Prop ואיך נותנים הרשאות לקבצים
        אז הרמתי את הכפפה והחלטתי לבנות אפליקציה שתריץ את הנ"ל במתן לחיצה אחת, אממה שהפרויקט התעכב ואז גיליתי מחדש את ה-
        logo.png
        היום נדבר קצת על Magisk Modules
        על המבנה של המודל ואיך בונים אותו, מה הקבצים המשמשים אותו, ומה אפשר לעשות אתו
        לפני שנתחיל בואו נעשה קצת סדר בנושאים שאני רוצה לדבר עליהם

        • מה הם Magisk modules
        • סוגי הקבצים ב module
        • מבנה הקבצים ב module
        • מבנה הקבצים ב module מחולץ
        • בניית module משלנו
        • פתרונות נפוצים

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

        cb3c2eef-dd2a-48a3-a2a0-b9c2116e4768-image.png

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

        #- ישנם כמה ספריות מודולים ריקות שמופצות לציבור כגון MMT Extended או Magisk Template שאותם נוריד ונערוך

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

        סוגי הקבצים ב module

        (הקבצים הפופולאריים - מתייחס ל- magisk template)

        • module.prop

          • זהו קובץ התמיכה של המודל והוא מכיל את השם, תיאור, מפתח, וכד'.
        • config.sh

          • זהו קובץ ההגדרות של המודל
        • תיקיית system

          • מכילה את קבצי ההחלפה/הוספה למערכת
        • common (תיקייה)

          • system.prop
            • מכיל את הגדרות ה Bulid.Prop החדשות
          • service.sh
            • סקריפט המכיל פקודות שיעלו בעת הפעלת המכשיר בעת הרצת פקודות השירות
          • post-fs-data.sh
            • סקריפט המכיל פקודות שיעלו בעת הפעלת המכשיר קודם פקודות האתחול

        מבנה הקבצים ב module

        module.prop

        הפורמט המחמיר של module.prop:

        id=<string>
        name=<string>
        version=<string>
        versionCode=<int>
        author=<string>
        description=<string>
        updateJson=<url> (optional)
        

        לאלו שלא מונחים בנושא:
        string= טקסט
        (integer)int= מספר שלם
        url= קישור
        optional= לא חובה

        ועכשיו ביותר פירוט:
        #- בערך id נוסיף מזהה לאפליקציה בפורמט התווים האלו ^[a-zA-Z][a-zA-Z0-9._-]+$ בלבד, למשל:
        7afd47d5-e902-4ba3-b048-9ef97b120f9b-image.png
        #- בערך name הכניסו את שם המודל
        #- בערך version הכניסו את מספר הגרסה הפונה לציבור (תוכלו להכניס גם בשילוב מספרים = 1.6V-Bate-alpa
        #- בערך versionCode הכניסו את מספר הגרסה לצורך השוואה בין גרסאות - ניתן להכניס אך ורק ערך מסוג int
        #- בערך author הכניסו את שם המפתח
        #- בערך description הכניסו תיאור קצר על המודל שלכם
        #- בערך updateJson הכניסו כתובת URL ששולחת Json עם קובץ מעודכן

        config.sh

        ##########################################################################################
        #
        # Magisk
        # by topjohnwu
        # 
        # This is a template zip for developers
        #
        ##########################################################################################
        ##########################################################################################
        # 
        # Instructions:
        # 
        # 1. Place your files into system folder (delete the placeholder file)
        # 2. Fill in your module's info into module.prop
        # 3. Configure the settings in this file (common/config.sh)
        # 4. For advanced features, add shell commands into the script files under common:
        #    post-fs-data.sh, service.sh
        # 5. For changing props, add your additional/modified props into common/system.prop
        # 
        ##########################################################################################
        
        ##########################################################################################
        # Defines
        ##########################################################################################
        
        # NOTE: This part has to be adjusted to fit your own needs
        
        # This will be the folder name under /magisk
        # This should also be the same as the id in your module.prop to prevent confusion
        MODID=template
        
        # Set to true if you need to enable Magic Mount
        # Most mods would like it to be enabled
        AUTOMOUNT=true
        
        # Set to true if you need to load system.prop
        PROPFILE=false
        
        # Set to true if you need post-fs-data script
        POSTFSDATA=false
        
        # Set to true if you need late_start service script
        LATESTARTSERVICE=false
        
        ##########################################################################################
        # Installation Message
        ##########################################################################################
        
        # Set what you want to show when installing your mod
        
        print_modname() {
          ui_print "*******************************"
          ui_print "     Magisk Module Template    "
          ui_print "*******************************"
        }
        
        ##########################################################################################
        # Replace list
        ##########################################################################################
        
        # List all directories you want to directly replace in the system
        # By default Magisk will merge your files with the original system
        # Directories listed here however, will be directly mounted to the correspond directory in the system
        
        # You don't need to remove the example below, these values will be overwritten by your own list
        # This is an example
        REPLACE="
        /system/app/Youtube
        /system/priv-app/SystemUI
        /system/priv-app/Settings
        /system/framework
        "
        
        # Construct your own list here, it will overwrite the example
        # !DO NOT! remove this if you don't need to replace anything, leave it empty as it is now
        REPLACE="
        "
        
        ##########################################################################################
        # Permissions
        ##########################################################################################
        
        # NOTE: This part has to be adjusted to fit your own needs
        
        set_permissions() {
          # Default permissions, don't remove them
          set_perm_recursive  $MODPATH  0  0  0755  0644
        
          # Only some special files require specific permissions
          # The default permissions should be good enough for most cases
        
          # Some templates if you have no idea what to do:
        
          # set_perm_recursive  <dirname>                <owner> <group> <dirpermission> <filepermission> <contexts> (default: u:object_r:system_file:s0)
          # set_perm_recursive  $MODPATH/system/lib       0       0       0755            0644
        
          # set_perm  <filename>                         <owner> <group> <permission> <contexts> (default: u:object_r:system_file:s0)
          # set_perm  $MODPATH/system/bin/app_process32   0       2000    0755         u:object_r:zygote_exec:s0
          # set_perm  $MODPATH/system/bin/dex2oat         0       2000    0755         u:object_r:dex2oat_exec:s0
          # set_perm  $MODPATH/system/lib/libart.so       0       0       0644
        }
        
        

        #- הגדרות המודל -#
        #- בערך MODID נשנה לשם ה id שנתנו למודל בקובץ module.prop
        #- בערך AUTOMOUNT (בוליאני) נבחר האם יש לנו קבצים בתיקיית system שבמודל שטעונים העברה/עדכון ל/במערכת
        #- בערך PROPFILE (בוליאני) נגדיר האם יש לנו שינויים בקובץ system.prop שנרצה שיכנסו לבסוף לקובץ Bulid.Prop
        #- בערך POSTFSDATA (בוליאני) נגדיר האם יש לנו סקריפטים בקובץ post-fs-data.sh שדורשים הבהוב במצב post-fs-data
        #- בערך LATESTARTSERVICE (בוליאני) נגדיר האם יש לנו סקריפטים בקובץ service.sh שדורשים הבהוב במצב late start

        #- הדפסת UI -#
        #- בערך print_modname נכניס במקום Magisk Module Template את השם של המודל כדי ליצור הדפסת UI עם השם של המודל שלנו בלוג התקדמות של הצריבה

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

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

        תיקיית system

        בתיקיה הזאת נניח את הקבצים בצורה שברצוננו להניח אותם בסיסטם האמיתי למשל ניקח את אפליקציית systemUI ונרצה להחליף אותה דרך מודל אז נפרוס את הנ"ל לתוך הסיסטם שבמודל בצורה כאילו היה בסיסטם - system/priv-app/systemUI וכן כל קובץ (system/media/bootimege.png) והם באופן רקורסיבי יתעדכנו בסיסטם (עיינו טוב מה זה אופן רקורסיבי...)

        #- כאמור לעיל ישנו דגל פעולה בשם .replace שאם ישנו בתיקיות הסופיות הוא מצביע על החלפת אותה תיקיה עם רעותה בסיסטם ללא מיזוג הקבצים לדוגמה /system/app/YouTube/.replace יחליף את תיקיית YouTube שבמודל עם זאת שבסיסטם

        מבנה הקבצים במודל מחולץ

        כאשר Magisk טוען את המודלים, הוא מפרק אותם לתיקיית שם המודל/data/adb/modules משום שתיקייה זו אינה נגישה ללא הרשאות רוט ואינה סיסטם

        #- קבצים בפירוק -#

        /data/adb/modules
        ├── .
        ├── .
        |
        ├── $MODID                  <--- התיקיה נקראת בשם המזהה של המודול
        │   │
        │   │      *** מידע מודל ***
        │   │
        │   ├── module.prop         <--- קובץ זה מאחסן את המטא נתונים של המודול
        │   │
        │   │      *** התוכן העיקרי ***
        │   │
        │   ├── system              <--- תיקיה זו תותקן אם ציינתם אישור ב AUTOMOUNT
        │   │   ├── ...
        │   │   ├── ...
        │   │   └── ...
        │   │
        │   ├── zygisk              <--- תיקיה זו מכילה את הספריות המקוריות של המודול Zygisk
        │   │   ├── arm64-v8a.so
        │   │   ├── armeabi-v7a.so
        │   │   ├── x86.so
        │   │   ├── x86_64.so
        │   │   └── unloaded        <--- דגל, כשקיים כנראה שהספריות המקוריות אינן תואמות
        │   │
        │   │      *** דגלי מצב ***
        │   │
        │   ├── skip_mount          <--- אם הדגל (קובץ) קיים, Magisk לא תטען את השינויים לסיסטם
        │   ├── disable             <--- אם קיים, המודול יושבת
        │   ├── remove              <--- אם קיים, המודול יוסר באתחול מחדש הבא
        │   │
        │   │      *** קבצים אפשריים ***
        │   │
        │   ├── post-fs-data.sh     <--- סקריפט זה יבוצע בשירות-post-fs-data
        │   ├── service.sh          <--- סקריפט זה יבוצע בשירות late_start
        |   ├── uninstall.sh        <--- סקריפט זה יתבצע כאשר Magisk תסיר את המודול שלך
        │   ├── system.prop         <--- מאפיינים בקובץ זה ייטענו כמאפייני מערכת על ידי resetprop
        │   ├── sepolicy.rule       <--- כללי מדיניות מותאמים אישית נוספים
        │   │
        │   │      *** נוצר אוטומטית, אין ליצור או לשנות באופן ידני ***
        │   │
        │   ├── vendor              <--- A symlink to $MODID/system/vendor
        │   ├── product             <--- A symlink to $MODID/system/product
        │   ├── system_ext          <--- A symlink to $MODID/system/system_ext
        │   │
        │   │      *** כל קבצים/תיקיות נוספים מותרים ***
        │   │
        │   ├── ...
        │   └── ...
        |
        ├── מודלים נוספים
        │   ├── .
        │   └── .
        ├── .
        ├── .
        

        #- דגלי מצב -#
        #- skip_mount / disable / remove דגלים אלו מורים ל Magisk לבצע פעולות מסוימות
        נסו בבית: התקינו מודל כל שהוא וכנסו לנתיב הזה שם המודל/data/adb/modules ותזכרו את הקבצים הנוכחים, כעת חיזרו ל Magisk והקליקו להשבתת המודל, כעת חיזרו לסייר ותראו שהתווסף לנו הקובץ disable שהוא מורה ל Magisk להשבית את המודל תוכלו למחוק אותו משם ולחזור ל Magisk ולראות שהופ המודל כבר לא מושבת, ככה גם בהסרה של המודל יתווסף לנו הדגל remove

        בניית module משלנו

        המשך יבוא בעזרת ה'

        אה רגע לני שאני בורח, יש כמה קרדיטים
        #- קרדיט לגרפים תרשימים והגדרות
        #- קרדיט על על ה template והicon

        זונדלז מנותק
        זונדלז מנותק
        זונדל
        מדריכים
        כתב ב נערך לאחרונה על ידי
        #3

        @איש-אמת כתב במדריך | קצת על Magisk Modules:

        המשך יבוא בעזרת ה'

        עצרת בחלק הכי מעניין 😬

        https://www.buymeacoffee.com/zundel

        איש אמתא mefateachM 2 תגובות תגובה אחרונה
        4
        • איש אמתא איש אמת

          היי שלום לכולם
          לפני תקופה ישבתי על הפורום וראיתי מלא שאלות איך מוסיפים אפליקציית מערכת, איך עושים שסקריפט ירוץ בהפעלת המכשיר, איך מוסיפים שורה ל Bulid.Prop ואיך נותנים הרשאות לקבצים
          אז הרמתי את הכפפה והחלטתי לבנות אפליקציה שתריץ את הנ"ל במתן לחיצה אחת, אממה שהפרויקט התעכב ואז גיליתי מחדש את ה-
          logo.png
          היום נדבר קצת על Magisk Modules
          על המבנה של המודל ואיך בונים אותו, מה הקבצים המשמשים אותו, ומה אפשר לעשות אתו
          לפני שנתחיל בואו נעשה קצת סדר בנושאים שאני רוצה לדבר עליהם

          • מה הם Magisk modules
          • סוגי הקבצים ב module
          • מבנה הקבצים ב module
          • מבנה הקבצים ב module מחולץ
          • בניית module משלנו
          • פתרונות נפוצים

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

          cb3c2eef-dd2a-48a3-a2a0-b9c2116e4768-image.png

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

          #- ישנם כמה ספריות מודולים ריקות שמופצות לציבור כגון MMT Extended או Magisk Template שאותם נוריד ונערוך

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

          סוגי הקבצים ב module

          (הקבצים הפופולאריים - מתייחס ל- magisk template)

          • module.prop

            • זהו קובץ התמיכה של המודל והוא מכיל את השם, תיאור, מפתח, וכד'.
          • config.sh

            • זהו קובץ ההגדרות של המודל
          • תיקיית system

            • מכילה את קבצי ההחלפה/הוספה למערכת
          • common (תיקייה)

            • system.prop
              • מכיל את הגדרות ה Bulid.Prop החדשות
            • service.sh
              • סקריפט המכיל פקודות שיעלו בעת הפעלת המכשיר בעת הרצת פקודות השירות
            • post-fs-data.sh
              • סקריפט המכיל פקודות שיעלו בעת הפעלת המכשיר קודם פקודות האתחול

          מבנה הקבצים ב module

          module.prop

          הפורמט המחמיר של module.prop:

          id=<string>
          name=<string>
          version=<string>
          versionCode=<int>
          author=<string>
          description=<string>
          updateJson=<url> (optional)
          

          לאלו שלא מונחים בנושא:
          string= טקסט
          (integer)int= מספר שלם
          url= קישור
          optional= לא חובה

          ועכשיו ביותר פירוט:
          #- בערך id נוסיף מזהה לאפליקציה בפורמט התווים האלו ^[a-zA-Z][a-zA-Z0-9._-]+$ בלבד, למשל:
          7afd47d5-e902-4ba3-b048-9ef97b120f9b-image.png
          #- בערך name הכניסו את שם המודל
          #- בערך version הכניסו את מספר הגרסה הפונה לציבור (תוכלו להכניס גם בשילוב מספרים = 1.6V-Bate-alpa
          #- בערך versionCode הכניסו את מספר הגרסה לצורך השוואה בין גרסאות - ניתן להכניס אך ורק ערך מסוג int
          #- בערך author הכניסו את שם המפתח
          #- בערך description הכניסו תיאור קצר על המודל שלכם
          #- בערך updateJson הכניסו כתובת URL ששולחת Json עם קובץ מעודכן

          config.sh

          ##########################################################################################
          #
          # Magisk
          # by topjohnwu
          # 
          # This is a template zip for developers
          #
          ##########################################################################################
          ##########################################################################################
          # 
          # Instructions:
          # 
          # 1. Place your files into system folder (delete the placeholder file)
          # 2. Fill in your module's info into module.prop
          # 3. Configure the settings in this file (common/config.sh)
          # 4. For advanced features, add shell commands into the script files under common:
          #    post-fs-data.sh, service.sh
          # 5. For changing props, add your additional/modified props into common/system.prop
          # 
          ##########################################################################################
          
          ##########################################################################################
          # Defines
          ##########################################################################################
          
          # NOTE: This part has to be adjusted to fit your own needs
          
          # This will be the folder name under /magisk
          # This should also be the same as the id in your module.prop to prevent confusion
          MODID=template
          
          # Set to true if you need to enable Magic Mount
          # Most mods would like it to be enabled
          AUTOMOUNT=true
          
          # Set to true if you need to load system.prop
          PROPFILE=false
          
          # Set to true if you need post-fs-data script
          POSTFSDATA=false
          
          # Set to true if you need late_start service script
          LATESTARTSERVICE=false
          
          ##########################################################################################
          # Installation Message
          ##########################################################################################
          
          # Set what you want to show when installing your mod
          
          print_modname() {
            ui_print "*******************************"
            ui_print "     Magisk Module Template    "
            ui_print "*******************************"
          }
          
          ##########################################################################################
          # Replace list
          ##########################################################################################
          
          # List all directories you want to directly replace in the system
          # By default Magisk will merge your files with the original system
          # Directories listed here however, will be directly mounted to the correspond directory in the system
          
          # You don't need to remove the example below, these values will be overwritten by your own list
          # This is an example
          REPLACE="
          /system/app/Youtube
          /system/priv-app/SystemUI
          /system/priv-app/Settings
          /system/framework
          "
          
          # Construct your own list here, it will overwrite the example
          # !DO NOT! remove this if you don't need to replace anything, leave it empty as it is now
          REPLACE="
          "
          
          ##########################################################################################
          # Permissions
          ##########################################################################################
          
          # NOTE: This part has to be adjusted to fit your own needs
          
          set_permissions() {
            # Default permissions, don't remove them
            set_perm_recursive  $MODPATH  0  0  0755  0644
          
            # Only some special files require specific permissions
            # The default permissions should be good enough for most cases
          
            # Some templates if you have no idea what to do:
          
            # set_perm_recursive  <dirname>                <owner> <group> <dirpermission> <filepermission> <contexts> (default: u:object_r:system_file:s0)
            # set_perm_recursive  $MODPATH/system/lib       0       0       0755            0644
          
            # set_perm  <filename>                         <owner> <group> <permission> <contexts> (default: u:object_r:system_file:s0)
            # set_perm  $MODPATH/system/bin/app_process32   0       2000    0755         u:object_r:zygote_exec:s0
            # set_perm  $MODPATH/system/bin/dex2oat         0       2000    0755         u:object_r:dex2oat_exec:s0
            # set_perm  $MODPATH/system/lib/libart.so       0       0       0644
          }
          
          

          #- הגדרות המודל -#
          #- בערך MODID נשנה לשם ה id שנתנו למודל בקובץ module.prop
          #- בערך AUTOMOUNT (בוליאני) נבחר האם יש לנו קבצים בתיקיית system שבמודל שטעונים העברה/עדכון ל/במערכת
          #- בערך PROPFILE (בוליאני) נגדיר האם יש לנו שינויים בקובץ system.prop שנרצה שיכנסו לבסוף לקובץ Bulid.Prop
          #- בערך POSTFSDATA (בוליאני) נגדיר האם יש לנו סקריפטים בקובץ post-fs-data.sh שדורשים הבהוב במצב post-fs-data
          #- בערך LATESTARTSERVICE (בוליאני) נגדיר האם יש לנו סקריפטים בקובץ service.sh שדורשים הבהוב במצב late start

          #- הדפסת UI -#
          #- בערך print_modname נכניס במקום Magisk Module Template את השם של המודל כדי ליצור הדפסת UI עם השם של המודל שלנו בלוג התקדמות של הצריבה

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

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

          תיקיית system

          בתיקיה הזאת נניח את הקבצים בצורה שברצוננו להניח אותם בסיסטם האמיתי למשל ניקח את אפליקציית systemUI ונרצה להחליף אותה דרך מודל אז נפרוס את הנ"ל לתוך הסיסטם שבמודל בצורה כאילו היה בסיסטם - system/priv-app/systemUI וכן כל קובץ (system/media/bootimege.png) והם באופן רקורסיבי יתעדכנו בסיסטם (עיינו טוב מה זה אופן רקורסיבי...)

          #- כאמור לעיל ישנו דגל פעולה בשם .replace שאם ישנו בתיקיות הסופיות הוא מצביע על החלפת אותה תיקיה עם רעותה בסיסטם ללא מיזוג הקבצים לדוגמה /system/app/YouTube/.replace יחליף את תיקיית YouTube שבמודל עם זאת שבסיסטם

          מבנה הקבצים במודל מחולץ

          כאשר Magisk טוען את המודלים, הוא מפרק אותם לתיקיית שם המודל/data/adb/modules משום שתיקייה זו אינה נגישה ללא הרשאות רוט ואינה סיסטם

          #- קבצים בפירוק -#

          /data/adb/modules
          ├── .
          ├── .
          |
          ├── $MODID                  <--- התיקיה נקראת בשם המזהה של המודול
          │   │
          │   │      *** מידע מודל ***
          │   │
          │   ├── module.prop         <--- קובץ זה מאחסן את המטא נתונים של המודול
          │   │
          │   │      *** התוכן העיקרי ***
          │   │
          │   ├── system              <--- תיקיה זו תותקן אם ציינתם אישור ב AUTOMOUNT
          │   │   ├── ...
          │   │   ├── ...
          │   │   └── ...
          │   │
          │   ├── zygisk              <--- תיקיה זו מכילה את הספריות המקוריות של המודול Zygisk
          │   │   ├── arm64-v8a.so
          │   │   ├── armeabi-v7a.so
          │   │   ├── x86.so
          │   │   ├── x86_64.so
          │   │   └── unloaded        <--- דגל, כשקיים כנראה שהספריות המקוריות אינן תואמות
          │   │
          │   │      *** דגלי מצב ***
          │   │
          │   ├── skip_mount          <--- אם הדגל (קובץ) קיים, Magisk לא תטען את השינויים לסיסטם
          │   ├── disable             <--- אם קיים, המודול יושבת
          │   ├── remove              <--- אם קיים, המודול יוסר באתחול מחדש הבא
          │   │
          │   │      *** קבצים אפשריים ***
          │   │
          │   ├── post-fs-data.sh     <--- סקריפט זה יבוצע בשירות-post-fs-data
          │   ├── service.sh          <--- סקריפט זה יבוצע בשירות late_start
          |   ├── uninstall.sh        <--- סקריפט זה יתבצע כאשר Magisk תסיר את המודול שלך
          │   ├── system.prop         <--- מאפיינים בקובץ זה ייטענו כמאפייני מערכת על ידי resetprop
          │   ├── sepolicy.rule       <--- כללי מדיניות מותאמים אישית נוספים
          │   │
          │   │      *** נוצר אוטומטית, אין ליצור או לשנות באופן ידני ***
          │   │
          │   ├── vendor              <--- A symlink to $MODID/system/vendor
          │   ├── product             <--- A symlink to $MODID/system/product
          │   ├── system_ext          <--- A symlink to $MODID/system/system_ext
          │   │
          │   │      *** כל קבצים/תיקיות נוספים מותרים ***
          │   │
          │   ├── ...
          │   └── ...
          |
          ├── מודלים נוספים
          │   ├── .
          │   └── .
          ├── .
          ├── .
          

          #- דגלי מצב -#
          #- skip_mount / disable / remove דגלים אלו מורים ל Magisk לבצע פעולות מסוימות
          נסו בבית: התקינו מודל כל שהוא וכנסו לנתיב הזה שם המודל/data/adb/modules ותזכרו את הקבצים הנוכחים, כעת חיזרו ל Magisk והקליקו להשבתת המודל, כעת חיזרו לסייר ותראו שהתווסף לנו הקובץ disable שהוא מורה ל Magisk להשבית את המודל תוכלו למחוק אותו משם ולחזור ל Magisk ולראות שהופ המודל כבר לא מושבת, ככה גם בהסרה של המודל יתווסף לנו הדגל remove

          בניית module משלנו

          המשך יבוא בעזרת ה'

          אה רגע לני שאני בורח, יש כמה קרדיטים
          #- קרדיט לגרפים תרשימים והגדרות
          #- קרדיט על על ה template והicon

          אליר325000א מנותק
          אליר325000א מנותק
          אליר325000
          מדריכים
          כתב ב נערך לאחרונה על ידי
          #4

          @איש-אמת
          ואייי באמת הרמת את הכפפה...

          (-/;)

          תגובה 1 תגובה אחרונה
          2
          • זונדלז זונדל

            @איש-אמת כתב במדריך | קצת על Magisk Modules:

            המשך יבוא בעזרת ה'

            עצרת בחלק הכי מעניין 😬

            איש אמתא מנותק
            איש אמתא מנותק
            איש אמת
            מדריכים
            כתב ב נערך לאחרונה על ידי
            #5

            @זונדל כתב במדריך | קצת על Magisk Modules:

            עצרת בחלק הכי מעניין

            ערב פסח, אחרי הכל...

            אני יודע שאני חושב שאני יודע.

            תגובה 1 תגובה אחרונה
            2
            • זונדלז זונדל

              @איש-אמת כתב במדריך | קצת על Magisk Modules:

              המשך יבוא בעזרת ה'

              עצרת בחלק הכי מעניין 😬

              mefateachM מנותק
              mefateachM מנותק
              mefateach
              מדריכים
              כתב ב נערך לאחרונה על ידי mefateach
              #6

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

              Life is learning

              איש אמתא תגובה 1 תגובה אחרונה
              1
              • mefateachM mefateach

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

                איש אמתא מנותק
                איש אמתא מנותק
                איש אמת
                מדריכים
                כתב ב נערך לאחרונה על ידי
                #7

                @mefateach כתב במדריך | קצת על Magisk Modules:

                לא הבנתי, מה ההבדל בין עריכת מודול קיים ליצירת מודול

                לא כתבתי מדריך לעריכת מודל קיים - אולי זה היה נשמע ככה אבל יותר באתי להסביר רק על הקבצים הקיימים במודל
                במדריך עריכה בעזרת ה' אני אסביר על תכלס איך לקחת את ה Template להוסיף לו קבצים סקריפטים והגדרות

                אני יודע שאני חושב שאני יודע.

                תגובה 1 תגובה אחרונה
                2

                • התחברות

                • אין לך חשבון עדיין? הרשמה

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