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

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. אנדרואיד - כללי
  3. בניית ופיתוח אפליקציות
  4. עזרה הדדית - בניית ופיתוח אפליקציות
  5. המלצה | זית לאנדרואיד - יתכן!

המלצה | זית לאנדרואיד - יתכן!

מתוזמן נעוץ נעול הועבר עזרה הדדית - בניית ופיתוח אפליקציות
81 פוסטים 21 כותבים 961 צפיות 24 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א אריה 6

    @לא-מתייאש
    כדאי אולי לחכות לאפליקציה שלך?
    או להשתמש בנתיים בשלו?

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

    @אריה-6 כתב:

    @לא-מתייאש
    כדאי אולי לחכות לאפליקציה שלך?
    או להשתמש בנתיים בשלו?

    שלי יכולה לצאת בעוד 3 חודשים - שנים, או שלא תצא בכלל, וודאי שאפשר להשתמש בשלו

    https://eliegambache.kdroidfilter.com/

    א תגובה 1 תגובה אחרונה
    😲 😀
    0
    • לא-מתייאשל לא-מתייאש

      @אריה-6 כתב:

      @לא-מתייאש
      כדאי אולי לחכות לאפליקציה שלך?
      או להשתמש בנתיים בשלו?

      שלי יכולה לצאת בעוד 3 חודשים - שנים, או שלא תצא בכלל, וודאי שאפשר להשתמש בשלו

      א מחובר
      א מחובר
      אריה 6
      כתב נערך לאחרונה על ידי אריה 6
      #72

      @לא-מתייאש
      לא רשמת שהוצאת עוד סוג?
      התכוונתי להשתמש בזה1000061677.jpg

      לא-מתייאשל תגובה 1 תגובה אחרונה
      0
      • לא-מתייאשל לא-מתייאש

        @avrasha
        אנדרואיד 8 זה מאוד מסובך, ואי איפשרי בשיטה שהוא פעל.
        אחרי שניסיתי את האפליקצייה של @אפרול זה נתן לי מוטיבצייה לתת לlucene (מנוע חיפוש של זית) תמיכה אמיתית לאנדרואיד וios והלכתי עם גישה אחרת לגמרי, קצת יותר כבדה בapk אבל עם ביצועים יותר טובים ועם תמיכה מאנדרואיד 10 וגם תמיכה בios. זה אפשרי עם אותה שיטה גם לתמוך באנדרואיד 8 אבל זה מסובך מידי בשביל הרווח שזה יתן
        https://github.com/NucleusFramework/NucleusJvmAccess @אפרול אם אתה רוצה להיות הראשון שינסה את זה (כרגע צריך להמתין שgradle יאשרו לי אותו)

        A מנותק
        A מנותק
        avrasha
        כתב נערך לאחרונה על ידי
        #73

        @לא-מתייאש כתב:

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

        החזון שלי שאברך יוכל לשים את זה בנגן/טאבלט קטן שיקנה מעלי. אם כרגע הנגנים והטבלטים שם מאנדרואיד 10 אין הכי נמי. אם זה עדיין אוחז באנדרואיד 9 ומעלה אולי כדאי לשקול לעשות גם לזה. אני יכול להשיג שיאומי חצי טאץ ע"מ לנסות אם אתה צריך נראה לי שזה מאנדרואיד 10 ומעלה. כמובן שהוא מוגבל במקום ואין לו אפשרות להתקן חיצוני.
        בכל אופן החידוש שזה עכשיו גם לאנדרואיד ושיהיה ניתן להתקין חלק מהספרים לפי בחירה [תלוי בכמות המקום שיש] ושיהיה ניתן להתקין גם על התקן חיצוני מאוד מבורך ולדעתי יכול להרבות תורה.

        תגובה 1 תגובה אחרונה
        0
        • א אריה 6

          @לא-מתייאש
          לא רשמת שהוצאת עוד סוג?
          התכוונתי להשתמש בזה1000061677.jpg

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

          @אריה-6
          [מתורגם על ידי AI]
          אוקיי, אני מתחיל מההתחלה. יש שני קשיים גדולים בהעברת זית לאנדרואיד. הראשון הוא מנוע החיפוש לוסין. לוסין הוא מנוע החיפוש הטוב בעולם שזמין לקהל הרחב. הבעיה היא שאף על פי שלוסין היא ספרייה של ג'אווה, זו לא ג'אווה שתואמת לאנדרואיד. כדי להבין את הבעיה: כשגוגל רצתה להציע למפתחים שפה לפיתוח אפליקציות אנדרואיד, היא רצתה שפה שכולם כבר מכירים, אבל לא רצתה לשלם רישיון. לכן היא מימשה מחדש לגמרי מכונה וירטואלית של ג'אווה, כלומר, בגדול, היא העתיקה רק את התחביר של השפה בלי להעתיק את המנוע שמריץ אותה (מה שעלה לה עשר שנים של משפטים מול אורקל). זה מה שנקרא ART. בקיצור, הם נעצרו בג'אווה 11, ולכן אנדרואיד מסוגל להריץ רק תחביר של ג'אווה 11. אחר כך הם פיתחו את ה"דה-שוגרינג" כדי להמיר ג'אווה 17 לג'אווה 11, כך ש-ART יוכל להריץ אותה. בינתיים הגיעה קוטלין, ובנוסף לכך שהיא מודרנית יותר, לא הייתה לה שום בעיית רישוי, ולכן הם החליטו להפסיק כמעט לגמרי את התמיכה בג'אווה באנדרואיד ולהפוך ל"קוטלין תחילה".

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

          בעקבות האפליקציה של החבר שלנו, שהתנהגה מצוין על טאבלט אנדרואיד, התחלתי לחפש פתרון לאייפד, ובאמת אחרי קצת חיפושים מצאתי במאגר הגיטהאב הרשמי של אורקל (החברה שמחזיקה היום בג'אווה) את אופן-ג'י-די-קיי מובייל. בקיצור, מדובר במכונה וירטואלית אמיתית של ג'אווה שמאפשרת להריץ קוד ג'אווה אמיתי באנדרואיד ובאייOS. זה פרויקט שאף אחד לא מכיר, אבל הוא מתוחזק. ה-JDK אפילו לא מקומפל מראש. עשיתי לו פורק רק כדי להגדיר מערכת אינטגרציה שמקמפלת אותו לאייOS ולאנדרואיד: https://github.com/NucleusFramework/openjdk-mobile. הבעיה היא שהמכונה הווירטואלית עובדת על ידי קומפילציה של הקוד תוך כדי ריצה, מה שנקרא JIT (וזה מה שהופך את ג'אווה ליעילה כל כך), אבל פרקטיקה זו נחשבת מסוכנת בעיני אפל ולכן אסורה. אבל אורקל הגדירה את המכונה הווירטואלית לאייOS כך שרק מפרשת את הקוד בלי לקמפל אותו. אז כן, מאבדים הרבה ביצועים, אבל ההימור שלי היה שבחיפוש פשוט, ועם מכשירים חזקים כמו של אפל, לא נרגיש בזה, ואכן מגיעים ל-1.5 שניות לחיפוש, וזה סביר אחרי אופטימיזציה. ואז החלטתי לבצע את המשימה באופן אוטומטי, ואם כבר עושים את זה באייOS, עשיתי את זה גם באנדרואיד במקביל, כי למה לא. וזה הפרויקט ששיתפתי: מודול שמאפשר לשלב מכונה וירטואלית אמיתית של ג'אווה באייOS ובאנדרואיד ולהריץ קוד ג'אווה באופן כמעט שקוף. ואחרי כמה מבחני ביצועים הבנתי שהביצועים של מכונה וירטואלית אמיתית באנדרואיד טובים עד פי 8 מהמכונה הווירטואלית של אנדרואיד (ART).

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

          https://eliegambache.kdroidfilter.com/

          פלמנמוניפ תגובה 1 תגובה אחרונה
          😲
          8
          • לא-מתייאשל לא-מתייאש

            @אריה-6
            [מתורגם על ידי AI]
            אוקיי, אני מתחיל מההתחלה. יש שני קשיים גדולים בהעברת זית לאנדרואיד. הראשון הוא מנוע החיפוש לוסין. לוסין הוא מנוע החיפוש הטוב בעולם שזמין לקהל הרחב. הבעיה היא שאף על פי שלוסין היא ספרייה של ג'אווה, זו לא ג'אווה שתואמת לאנדרואיד. כדי להבין את הבעיה: כשגוגל רצתה להציע למפתחים שפה לפיתוח אפליקציות אנדרואיד, היא רצתה שפה שכולם כבר מכירים, אבל לא רצתה לשלם רישיון. לכן היא מימשה מחדש לגמרי מכונה וירטואלית של ג'אווה, כלומר, בגדול, היא העתיקה רק את התחביר של השפה בלי להעתיק את המנוע שמריץ אותה (מה שעלה לה עשר שנים של משפטים מול אורקל). זה מה שנקרא ART. בקיצור, הם נעצרו בג'אווה 11, ולכן אנדרואיד מסוגל להריץ רק תחביר של ג'אווה 11. אחר כך הם פיתחו את ה"דה-שוגרינג" כדי להמיר ג'אווה 17 לג'אווה 11, כך ש-ART יוכל להריץ אותה. בינתיים הגיעה קוטלין, ובנוסף לכך שהיא מודרנית יותר, לא הייתה לה שום בעיית רישוי, ולכן הם החליטו להפסיק כמעט לגמרי את התמיכה בג'אווה באנדרואיד ולהפוך ל"קוטלין תחילה".

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

            בעקבות האפליקציה של החבר שלנו, שהתנהגה מצוין על טאבלט אנדרואיד, התחלתי לחפש פתרון לאייפד, ובאמת אחרי קצת חיפושים מצאתי במאגר הגיטהאב הרשמי של אורקל (החברה שמחזיקה היום בג'אווה) את אופן-ג'י-די-קיי מובייל. בקיצור, מדובר במכונה וירטואלית אמיתית של ג'אווה שמאפשרת להריץ קוד ג'אווה אמיתי באנדרואיד ובאייOS. זה פרויקט שאף אחד לא מכיר, אבל הוא מתוחזק. ה-JDK אפילו לא מקומפל מראש. עשיתי לו פורק רק כדי להגדיר מערכת אינטגרציה שמקמפלת אותו לאייOS ולאנדרואיד: https://github.com/NucleusFramework/openjdk-mobile. הבעיה היא שהמכונה הווירטואלית עובדת על ידי קומפילציה של הקוד תוך כדי ריצה, מה שנקרא JIT (וזה מה שהופך את ג'אווה ליעילה כל כך), אבל פרקטיקה זו נחשבת מסוכנת בעיני אפל ולכן אסורה. אבל אורקל הגדירה את המכונה הווירטואלית לאייOS כך שרק מפרשת את הקוד בלי לקמפל אותו. אז כן, מאבדים הרבה ביצועים, אבל ההימור שלי היה שבחיפוש פשוט, ועם מכשירים חזקים כמו של אפל, לא נרגיש בזה, ואכן מגיעים ל-1.5 שניות לחיפוש, וזה סביר אחרי אופטימיזציה. ואז החלטתי לבצע את המשימה באופן אוטומטי, ואם כבר עושים את זה באייOS, עשיתי את זה גם באנדרואיד במקביל, כי למה לא. וזה הפרויקט ששיתפתי: מודול שמאפשר לשלב מכונה וירטואלית אמיתית של ג'אווה באייOS ובאנדרואיד ולהריץ קוד ג'אווה באופן כמעט שקוף. ואחרי כמה מבחני ביצועים הבנתי שהביצועים של מכונה וירטואלית אמיתית באנדרואיד טובים עד פי 8 מהמכונה הווירטואלית של אנדרואיד (ART).

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

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

            @לא-מתייאש

            אם לא היית מתרגם, לפחות היינו חושבים שאם היית מתרגם היינו מבינים...

            פלאפון מייל

            לא-מתייאשל תגובה 1 תגובה אחרונה
            🙄 😂
            1
            • פלמנמוניפ פלמנמוני

              @לא-מתייאש

              אם לא היית מתרגם, לפחות היינו חושבים שאם היית מתרגם היינו מבינים...

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

              @פלמנמוני כדי לפשט קצת את העניין, גם זית אינה רצה על JVM מסורתית, אלא מהודרת לקוד מכונה באמצעות GraalVM. ההבדל הוא ש-GraalVM הוא פרויקט מקורי של אורקל, וכשעיינתי בקוד המקור שמתי לב שיש בו גם יעד ל-iOS ול-Android, אלא שמערך הבנייה האוטומטי פשוט לא כלל אותו. לכן עשיתי אותו דבר: יצרתי עותק נפרד של המאגר והתאמתי את מערך הבנייה האוטומטי כך שיפרסם את סביבת הריצה. כך הגעתי לביצועים מהירים פי 9 ב-iOS ולגודל חבילה קטן פי 2.5! בנוסף, זה צורך פחות זיכרון עבודה מ-JVM אמיתית. כל זה כדי לומר שבסופו של דבר, זית על iOS אפשרית לגמרי, עם פתרון יציב לטווח ארוך, ובנוסף מהיר מאוד.


              Here are all the benchmarks I ran, with Zayit's real index (7M documents). App benchmarks are medians of 3 runs on Android and one run on iOS, with OS caches dropped before each run on Android.

              Android (arm64 emulator, Android 15)

              Full app: hybrid search (lexical + semantic)

              ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
              First search, cold (includes runtime start) 1.41 s 2.11 s 1.51 s
              First book lookup, cold 97 ms 108 ms –
              5 warm rounds, total 5.82 s 5.27 s 6.01 s
              Search, first page 83 ms 75 ms 85 ms
              Search, next page 9.5 ms 9.6 ms 9.5 ms
              Facets 8.0 ms 8.1 ms 7.8 ms
              Highlights (by meaning) 20 ms 21 ms 23 ms
              Book suggestions 3.3 ms 4.5 ms 3.0 ms
              Peak memory (PSS) 426 MB 559 MB 481 MB

              Full app: lexical search

              ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
              First search, cold 0.92 s 1.55 s 0.91 s
              First book lookup, cold 86 ms 104 ms –
              5 warm rounds, total 7.29 s 5.75 s 7.78 s
              Search, first page 75 ms 59 ms 79 ms
              Search, next page 75 ms 58 ms 76 ms
              Facets 8.4 ms 7.9 ms 9.1 ms
              Highlights 0.4 ms 0.4 ms 0.4 ms
              Book suggestions 4.5 ms 3.6 ms 3.4 ms
              Peak memory (PSS) 337 MB 332 MB 329 MB

              I didn't extract the first-lookup time from the GraalVM runs.

              App size (per arm64 device)

              ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
              App installed 42.7 MB ~98 MB 58.1 MB
              Added by Lucene ~3 MB (dex) ~58 MB (JVM + Java runtime) ~19 MB (libnja.so)
              Download (compressed, estimate) ~1–2 MB not measured ~7 MB

              Lucene alone (no app around it), GraalVM

              GraalVM, warm
              Phrase search 1–3 ms
              Facets 1–4 ms
              Vector search (KNN), warm disk cache 3–10 ms
              Vector search (KNN), cold disk cache 130–500 ms
              Memory (RSS) 63 MB

              I only ran the Lucene-alone test with GraalVM on Android.

              iOS (simulator)

              HotSpot isn't possible on iOS (Apple forbids JIT compilers), so the JVM option is Zero, its interpreter. ART is Android-only.

              Full app: hybrid search

              Zero (NJA, JVM) GraalVM (NJA)
              First search, cold (includes runtime start) 4.63 s 0.82 s
              First book lookup, cold 240 ms 206 ms
              Search, first page 1.18 s 144 ms
              Search, next page 50 ms 41 ms
              Facets 148 ms 18 ms
              Highlights (by meaning) 15 ms 14 ms
              Book suggestions 67 ms 48 ms
              Memory after warm-up (peak) 386 MB (422) 390 MB (430)

              Full app: lexical search

              Zero (NJA, JVM) GraalVM (NJA)
              First search, cold 4.15 s 0.52 s
              First book lookup, cold 243 ms 181 ms
              Search, first page 1.11 s 142 ms
              Search, next page 1.11 s 127 ms
              Facets 146 ms 18 ms
              Highlights 3.5 ms 3.5 ms
              Book suggestions 68 ms 48 ms
              Memory after warm-up (peak) 148 MB (163) 124 MB (155)

              App size

              Zero (NJA, JVM) GraalVM (NJA)
              Added by Lucene ~50 MB (VM + Java runtime bundled) ~20 MB (one object linked into the app)
              Download (compressed, estimate) not measured ~7 MB

              Lucene alone (no app around it), warm

              macOS HotSpot (reference) iOS GraalVM
              Phrase search 1–2 ms 1–2 ms
              Facets 1–3 ms 1–4 ms
              Vector search (KNN), warm disk cache ~2 ms ~1.5 ms
              Vector search (KNN), cold disk cache 130–250 ms 130–250 ms
              Memory – 61 MB

              Correctness

              Check Result
              NJA test suite, iOS GraalVM 2008 / 2008
              NJA test suite, Android GraalVM (x86_64 emulator, CI) passed
              NJA test suite, Android ART and Android HotSpot 2008 / 2008 each
              Same search results, iOS GraalVM vs desktop JVM byte-identical, hybrid search included

              Summary:

              • On Android, GraalVM is as fast to start and nearly as light as ART, with the real Lucene. HotSpot is the fastest once warm, but heavier, bigger, and slower to start.
              • On iOS, GraalVM is about 8× faster than Zero, starts about 5–8× faster, and adds less than half the size.

              https://eliegambache.kdroidfilter.com/

              בנימין מחשביםב תגובה 1 תגובה אחרונה
              2
              • לא-מתייאשל לא-מתייאש

                @פלמנמוני כדי לפשט קצת את העניין, גם זית אינה רצה על JVM מסורתית, אלא מהודרת לקוד מכונה באמצעות GraalVM. ההבדל הוא ש-GraalVM הוא פרויקט מקורי של אורקל, וכשעיינתי בקוד המקור שמתי לב שיש בו גם יעד ל-iOS ול-Android, אלא שמערך הבנייה האוטומטי פשוט לא כלל אותו. לכן עשיתי אותו דבר: יצרתי עותק נפרד של המאגר והתאמתי את מערך הבנייה האוטומטי כך שיפרסם את סביבת הריצה. כך הגעתי לביצועים מהירים פי 9 ב-iOS ולגודל חבילה קטן פי 2.5! בנוסף, זה צורך פחות זיכרון עבודה מ-JVM אמיתית. כל זה כדי לומר שבסופו של דבר, זית על iOS אפשרית לגמרי, עם פתרון יציב לטווח ארוך, ובנוסף מהיר מאוד.


                Here are all the benchmarks I ran, with Zayit's real index (7M documents). App benchmarks are medians of 3 runs on Android and one run on iOS, with OS caches dropped before each run on Android.

                Android (arm64 emulator, Android 15)

                Full app: hybrid search (lexical + semantic)

                ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                First search, cold (includes runtime start) 1.41 s 2.11 s 1.51 s
                First book lookup, cold 97 ms 108 ms –
                5 warm rounds, total 5.82 s 5.27 s 6.01 s
                Search, first page 83 ms 75 ms 85 ms
                Search, next page 9.5 ms 9.6 ms 9.5 ms
                Facets 8.0 ms 8.1 ms 7.8 ms
                Highlights (by meaning) 20 ms 21 ms 23 ms
                Book suggestions 3.3 ms 4.5 ms 3.0 ms
                Peak memory (PSS) 426 MB 559 MB 481 MB

                Full app: lexical search

                ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                First search, cold 0.92 s 1.55 s 0.91 s
                First book lookup, cold 86 ms 104 ms –
                5 warm rounds, total 7.29 s 5.75 s 7.78 s
                Search, first page 75 ms 59 ms 79 ms
                Search, next page 75 ms 58 ms 76 ms
                Facets 8.4 ms 7.9 ms 9.1 ms
                Highlights 0.4 ms 0.4 ms 0.4 ms
                Book suggestions 4.5 ms 3.6 ms 3.4 ms
                Peak memory (PSS) 337 MB 332 MB 329 MB

                I didn't extract the first-lookup time from the GraalVM runs.

                App size (per arm64 device)

                ART (patched Lucene) HotSpot (NJA) GraalVM (NJA)
                App installed 42.7 MB ~98 MB 58.1 MB
                Added by Lucene ~3 MB (dex) ~58 MB (JVM + Java runtime) ~19 MB (libnja.so)
                Download (compressed, estimate) ~1–2 MB not measured ~7 MB

                Lucene alone (no app around it), GraalVM

                GraalVM, warm
                Phrase search 1–3 ms
                Facets 1–4 ms
                Vector search (KNN), warm disk cache 3–10 ms
                Vector search (KNN), cold disk cache 130–500 ms
                Memory (RSS) 63 MB

                I only ran the Lucene-alone test with GraalVM on Android.

                iOS (simulator)

                HotSpot isn't possible on iOS (Apple forbids JIT compilers), so the JVM option is Zero, its interpreter. ART is Android-only.

                Full app: hybrid search

                Zero (NJA, JVM) GraalVM (NJA)
                First search, cold (includes runtime start) 4.63 s 0.82 s
                First book lookup, cold 240 ms 206 ms
                Search, first page 1.18 s 144 ms
                Search, next page 50 ms 41 ms
                Facets 148 ms 18 ms
                Highlights (by meaning) 15 ms 14 ms
                Book suggestions 67 ms 48 ms
                Memory after warm-up (peak) 386 MB (422) 390 MB (430)

                Full app: lexical search

                Zero (NJA, JVM) GraalVM (NJA)
                First search, cold 4.15 s 0.52 s
                First book lookup, cold 243 ms 181 ms
                Search, first page 1.11 s 142 ms
                Search, next page 1.11 s 127 ms
                Facets 146 ms 18 ms
                Highlights 3.5 ms 3.5 ms
                Book suggestions 68 ms 48 ms
                Memory after warm-up (peak) 148 MB (163) 124 MB (155)

                App size

                Zero (NJA, JVM) GraalVM (NJA)
                Added by Lucene ~50 MB (VM + Java runtime bundled) ~20 MB (one object linked into the app)
                Download (compressed, estimate) not measured ~7 MB

                Lucene alone (no app around it), warm

                macOS HotSpot (reference) iOS GraalVM
                Phrase search 1–2 ms 1–2 ms
                Facets 1–3 ms 1–4 ms
                Vector search (KNN), warm disk cache ~2 ms ~1.5 ms
                Vector search (KNN), cold disk cache 130–250 ms 130–250 ms
                Memory – 61 MB

                Correctness

                Check Result
                NJA test suite, iOS GraalVM 2008 / 2008
                NJA test suite, Android GraalVM (x86_64 emulator, CI) passed
                NJA test suite, Android ART and Android HotSpot 2008 / 2008 each
                Same search results, iOS GraalVM vs desktop JVM byte-identical, hybrid search included

                Summary:

                • On Android, GraalVM is as fast to start and nearly as light as ART, with the real Lucene. HotSpot is the fastest once warm, but heavier, bigger, and slower to start.
                • On iOS, GraalVM is about 8× faster than Zero, starts about 5–8× faster, and adds less than half the size.

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

                @לא-מתייאש

                עכשיו הכל מובן 😄

                הדבר היחיד ש(נדמה לי ש)אני הצלחתי להבין זה שלא-מתייאש כמעט התייאש מזית לאנדרואיד/iOS ועכשיו הוא כבר לא-מתייאש 😉 שאפו, באמת!

                יש 10 סוגים של אנשים, אלה שמבינים בינארית ואלה שלא

                תגובה 1 תגובה אחרונה
                😀
                1
                • א מנותק
                  א מנותק
                  אפרול
                  כתב נערך לאחרונה על ידי
                  #78

                  עדכון 0.3.0
                  *הפירוט בספויילר - AI.

                  עדכון פרדס מתוך האפליקציה.

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

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

                  אפשר לשמור את הספרייה (כ־13 ג״ב) בכרטיס זיכרון (SD) במקום בזיכרון הטלפון. כשיש כרטיס במכשיר, מדריך ההגדרה מציג את הטלפון ואת הכרטיס עם המקום הפנוי בכל אחד מהם. לא צריך הרשאת אחסון: הספרייה נשמרת בתיקייה של פרדס בכרטיס.
                  הגדרות › ניהול נתונים › מיקום הספרייה מעביר ספרייה מותקנת בין הטלפון לכרטיס. ההעתקה רצה ברקע, עם התראה ואפשרות ביטול. כל קובץ נבדק אחרי ההעתקה, והעותק הישן נמחק רק אחרי שהחדש במקומו.
                  ספרייה שנמצאת במקום האחר, למשל כזו שהועתקה לכרטיס מהמחשב, מוצגת שם, ואפשר לעבור אליה או למחוק אותה.
                  כשמוציאים את הכרטיס, היישום סוגר את הספרייה ומבקש להחזיר אותו, ונפתח מעצמו כשהכרטיס חוזר. הוא אף פעם לא מוריד את הספרייה מחדש מעצמו. התקנה בטלפון מתקין עותק חדש בטלפון ומשאיר את זה שבכרטיס.
                  כרטיסים בפורמט FAT32 (כך אנדרואיד מפרמט כרטיסים של 32 ג״ב ומטה) אינם מקבלים קובץ של 4 ג״ב ומעלה, ומסד הנתונים גדול מזה. בכרטיס כזה הוא נשמר בכמה חלקים, והיישום קורא אותם כקובץ אחד. ספרייה בחלקים מתעדכנת בינתיים רק בעדכון מלא. כרטיס שפורמט ל־exFAT במחשב מקבל את מסד הנתונים כקובץ אחד, וגם עדכון מצטבר.

                  עדכון הספרייה בלי אינטרנט.

                  הגדרות › ניהול נתונים › עדכון מקבצים או עדכון מתיקייה מעדכנים את הספרייה מקבצים שהועברו למכשיר. אפשר לבחור את שני הקבצים של עדכון מצטבר מעמוד ההפצה של SeforimLibrary, patch-v….db.zst וקובץ ה־.manifest.json שלו (כמה עדכונים ברצף מתחברים לפי הסדר), או את כל קובצי ה־.part של המאגר המלא.
                  שימוש בקבצים שנמצאו מופיע עכשיו גם בהגדרות, כשקובצי המאגר כבר נמצאים בתיקייה של היישום, למשל אחרי שהועתקו לכרטיס בקורא כרטיסים. בורר הקבצים של אנדרואיד לא מציג את התיקייה הזו.
                  עדכון מלא לא מוחק את הספרייה הקיימת עד שהחדשה נקראה עד הסוף ונבדקה, כשיש מקום לשתיהן, כך שעדכון שנכשל משאיר אותה במקומה (בזמן העדכון עצמו הספרייה סגורה). הוא מוחק את הישנה קודם רק כשרק כך יש מקום, ואחרת עוצר לפני שמחק משהו.

                  תיקונים והתאמות מזית 0.6.5.

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

                  תגובה 1 תגובה אחרונה
                  2
                  • א מנותק
                    א מנותק
                    אפרול
                    כתב נערך לאחרונה על ידי אפרול
                    #79

                    בניתי בנוסף כלי עזר קטן (0.5 mb) -
                    הספרייה של זית למחשב שוקלת כ־13GB. הורדה שלה מחדש לטלפון לוקחת זמן. הכלי הקטן הזה אורז את הספרייה שכבר מותקנת במחשב לקובץ דחוס אחד, בערך 6.3GB. אפשר לשמור את הקובץ ישר בטלפון, בכרטיס זיכרון (יחולק לכמה חלקים) או בכל תיקייה. בטלפון - בוחרים בו מתוך פרדס, והספרייה מותקנת בלי רשת.
                    להורדה
                    https://github.com/efrul/zayit-export
                    a89e4459-f90d-4dbf-bd0d-53ff6e4be788-image.jpeg
                    256fdc89-8bd4-4914-9e06-6f30d0a09c0a-image.jpeg
                    efe8014f-0ce6-4587-a6b3-38dc9b982a6a-image.jpeg

                    מה הוא עושה
                    מראה איזו ספרייה תיארז: זו שזית פותחת, עם הגודל והמהדורה שלה.
                    שומר לכל מקום:
                    תיקייה בטלפון עצמו, כשהוא מחובר בכבל במצב העברת קבצים.
                    כרטיס זיכרון, דיסק־און־קי או תיקייה במחשב.
                    מפצל כשצריך:
                    כונן בפורמט FAT32 לא מקבל קבצים של 4GB ומעלה. לכן לכונן כזה, וגם לטלפון, הקובץ נשמר בחלקים של 1.9GB, עם קובץ manifest שמפרט את החלקים.
                    בכל מקום אחר הפיצול הוא אפשרות.
                    החלקים נשמרים בתיקייה משלהם, למשל zayit-library-2026-10-11, כך שבטלפון בוחרים את כל מה שבתיקייה ולא מתערבבים קבצים אחרים.
                    מכיר את התיקייה של פרדס: בכרטיס זיכרון שכבר היה בטלפון, הכלי מציע לשמור בתיקייה של פרדס בכרטיס. כשהכרטיס חוזר לטלפון, פרדס מוצא את הקובץ לבד.
                    בודק:
                    לפני ההתחלה: שזית סגורה ושנסגרה כראוי, שיש ביעד מספיק מקום, ושהמהדורה חדשה מספיק לפרדס (11/10/2026 ואילך).
                    אחרי הכתיבה: כל קובץ נקרא שוב מהכונן עצמו, לא מהזיכרון של Windows, ומושווה למה שנכתב. כך מתגלה כרטיס פגום או מזויף לפני שהוא מגיע לטלפון.
                    לא משאיר שאריות: אפשר לעצור בכל רגע. מה שנכתב עד אז נמחק, גם מהטלפון. הספרייה במחשב לא משתנה אף פעם.
                    העיצוב הוא של זית: הצבע, הגופן ומצב בהיר או כהה נלקחים מההגדרות של זית במחשב.

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

                    התקנת הכלי
                    מורידים את ZayitExport.exe מעמוד ה־Releases.
                    מפעילים. אין התקנה, ואפשר להחזיק את הקובץ בכל תיקייה.
                    הקובץ אינו חתום דיגיטלית, ולכן Windows SmartScreen עלול להזהיר בפעם הראשונה. כדי להמשיך לוחצים על "מידע נוסף" ואז על "הפעל בכל זאת".

                    דרישות:

                    Windows 10 או 11. ה־.NET Framework 4.8 שהכלי צריך כבר מובנה בהם.
                    זית למחשב מותקנת, עם הספרייה שלה.
                    הדחיסה משתמשת ב־zstd של Windows עצמה (archiveint.dll, הספרייה של tar.exe), שקיימת בגרסאות העדכניות של Windows 11. ב־Windows בלי zstd הקובץ נשמר בלי דחיסה, בגודל הספרייה, ופרדס מתקין גם אותו.
                    איך זה עובד
                    הקובץ הוא באותו פורמט שבו זית מפרסמת את הספרייה (seforim_bundle.tar.zst), ולכן פרדס קורא אותו בלי שום שינוי:

                    tar:
                    בתוכו הקבצים שזית מתקינה: seforim.db, שני האינדקסים, lexical.db ו־catalog.pb.
                    release_info.txt ראשון, כדי שאפשר יהיה לבדוק את המהדורה לפני שמחלצים משהו.
                    אחריו library_size.txt (library=<bytes> ו־seforim.db=<bytes>), הגודל של הספרייה אחרי החילוץ. כך פרדס יודע כמה מקום לבקש. גרסה של פרדס שלא מכירה אותו מדלגת עליו.
                    שתי תיקיות האינדקס נמצאות תמיד, ריקות בספרייה מוקטנת שאין בה אינדקס. כך לא נשאר בטלפון אינדקס של ספרייה אחרת.
                    כותרות pax לשמות ארוכים ולקבצים של 8GB ומעלה.
                    zstd רמה 3:
                    הדחיסה רצה בכמה ליבות: כל 8MB נדחסים למסגרת zstd נפרדת, והמסגרות כתובות ברצף. רצף כזה הוא זרם zstd תקין אחד.
                    הדחיסה עצמה היא של libarchive שמגיעה עם Windows.
                    חלקים: בשמות <name>.tar.zst.part01, part02 וכן הלאה, כל חלק של 2,040,109,465 בתים, כמו בהפצה של זית. לצדם <name>.tar.zst.manifest.json (פורמט 1), עם הגודל וה־sha256 של כל חלק ושל הכול.
                    שם הקובץ לפי המהדורה, למשל zayit-library-2026-10-11.tar.zst.
                    כתיבה בטוחה: כל קובץ נכתב קודם בשם ‎.partial, ומקבל את שמו רק אחרי שהכול נכתב ונבדק.
                    לטלפון (MTP): כל חלק נכתב קודם למחשב, נשלח במנוע ההעתקה של Windows (IFileOperation) ונמחק מהמחשב. לכן במחשב צריך מקום לשני חלקים בלבד, כ־4.3GB.

                    צבי דורש ציוןצ תגובה 1 תגובה אחרונה
                    1
                    • א אפרול

                      בניתי בנוסף כלי עזר קטן (0.5 mb) -
                      הספרייה של זית למחשב שוקלת כ־13GB. הורדה שלה מחדש לטלפון לוקחת זמן. הכלי הקטן הזה אורז את הספרייה שכבר מותקנת במחשב לקובץ דחוס אחד, בערך 6.3GB. אפשר לשמור את הקובץ ישר בטלפון, בכרטיס זיכרון (יחולק לכמה חלקים) או בכל תיקייה. בטלפון - בוחרים בו מתוך פרדס, והספרייה מותקנת בלי רשת.
                      להורדה
                      https://github.com/efrul/zayit-export
                      a89e4459-f90d-4dbf-bd0d-53ff6e4be788-image.jpeg
                      256fdc89-8bd4-4914-9e06-6f30d0a09c0a-image.jpeg
                      efe8014f-0ce6-4587-a6b3-38dc9b982a6a-image.jpeg

                      מה הוא עושה
                      מראה איזו ספרייה תיארז: זו שזית פותחת, עם הגודל והמהדורה שלה.
                      שומר לכל מקום:
                      תיקייה בטלפון עצמו, כשהוא מחובר בכבל במצב העברת קבצים.
                      כרטיס זיכרון, דיסק־און־קי או תיקייה במחשב.
                      מפצל כשצריך:
                      כונן בפורמט FAT32 לא מקבל קבצים של 4GB ומעלה. לכן לכונן כזה, וגם לטלפון, הקובץ נשמר בחלקים של 1.9GB, עם קובץ manifest שמפרט את החלקים.
                      בכל מקום אחר הפיצול הוא אפשרות.
                      החלקים נשמרים בתיקייה משלהם, למשל zayit-library-2026-10-11, כך שבטלפון בוחרים את כל מה שבתיקייה ולא מתערבבים קבצים אחרים.
                      מכיר את התיקייה של פרדס: בכרטיס זיכרון שכבר היה בטלפון, הכלי מציע לשמור בתיקייה של פרדס בכרטיס. כשהכרטיס חוזר לטלפון, פרדס מוצא את הקובץ לבד.
                      בודק:
                      לפני ההתחלה: שזית סגורה ושנסגרה כראוי, שיש ביעד מספיק מקום, ושהמהדורה חדשה מספיק לפרדס (11/10/2026 ואילך).
                      אחרי הכתיבה: כל קובץ נקרא שוב מהכונן עצמו, לא מהזיכרון של Windows, ומושווה למה שנכתב. כך מתגלה כרטיס פגום או מזויף לפני שהוא מגיע לטלפון.
                      לא משאיר שאריות: אפשר לעצור בכל רגע. מה שנכתב עד אז נמחק, גם מהטלפון. הספרייה במחשב לא משתנה אף פעם.
                      העיצוב הוא של זית: הצבע, הגופן ומצב בהיר או כהה נלקחים מההגדרות של זית במחשב.

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

                      התקנת הכלי
                      מורידים את ZayitExport.exe מעמוד ה־Releases.
                      מפעילים. אין התקנה, ואפשר להחזיק את הקובץ בכל תיקייה.
                      הקובץ אינו חתום דיגיטלית, ולכן Windows SmartScreen עלול להזהיר בפעם הראשונה. כדי להמשיך לוחצים על "מידע נוסף" ואז על "הפעל בכל זאת".

                      דרישות:

                      Windows 10 או 11. ה־.NET Framework 4.8 שהכלי צריך כבר מובנה בהם.
                      זית למחשב מותקנת, עם הספרייה שלה.
                      הדחיסה משתמשת ב־zstd של Windows עצמה (archiveint.dll, הספרייה של tar.exe), שקיימת בגרסאות העדכניות של Windows 11. ב־Windows בלי zstd הקובץ נשמר בלי דחיסה, בגודל הספרייה, ופרדס מתקין גם אותו.
                      איך זה עובד
                      הקובץ הוא באותו פורמט שבו זית מפרסמת את הספרייה (seforim_bundle.tar.zst), ולכן פרדס קורא אותו בלי שום שינוי:

                      tar:
                      בתוכו הקבצים שזית מתקינה: seforim.db, שני האינדקסים, lexical.db ו־catalog.pb.
                      release_info.txt ראשון, כדי שאפשר יהיה לבדוק את המהדורה לפני שמחלצים משהו.
                      אחריו library_size.txt (library=<bytes> ו־seforim.db=<bytes>), הגודל של הספרייה אחרי החילוץ. כך פרדס יודע כמה מקום לבקש. גרסה של פרדס שלא מכירה אותו מדלגת עליו.
                      שתי תיקיות האינדקס נמצאות תמיד, ריקות בספרייה מוקטנת שאין בה אינדקס. כך לא נשאר בטלפון אינדקס של ספרייה אחרת.
                      כותרות pax לשמות ארוכים ולקבצים של 8GB ומעלה.
                      zstd רמה 3:
                      הדחיסה רצה בכמה ליבות: כל 8MB נדחסים למסגרת zstd נפרדת, והמסגרות כתובות ברצף. רצף כזה הוא זרם zstd תקין אחד.
                      הדחיסה עצמה היא של libarchive שמגיעה עם Windows.
                      חלקים: בשמות <name>.tar.zst.part01, part02 וכן הלאה, כל חלק של 2,040,109,465 בתים, כמו בהפצה של זית. לצדם <name>.tar.zst.manifest.json (פורמט 1), עם הגודל וה־sha256 של כל חלק ושל הכול.
                      שם הקובץ לפי המהדורה, למשל zayit-library-2026-10-11.tar.zst.
                      כתיבה בטוחה: כל קובץ נכתב קודם בשם ‎.partial, ומקבל את שמו רק אחרי שהכול נכתב ונבדק.
                      לטלפון (MTP): כל חלק נכתב קודם למחשב, נשלח במנוע ההעתקה של Windows (IFileOperation) ונמחק מהמחשב. לכן במחשב צריך מקום לשני חלקים בלבד, כ־4.3GB.

                      צבי דורש ציוןצ מנותק
                      צבי דורש ציוןצ מנותק
                      צבי דורש ציון
                      כתב נערך לאחרונה על ידי צבי דורש ציון
                      #80

                      @אפרול למעשה‌​‌‌​‌​​​​​‌ עכשיו זה מתאים לאנדרואיד 10?

                      תגובה 1 תגובה אחרונה
                      0
                      • ס מנותק
                        ס מנותק
                        סטלה דקדושה
                        כתב נערך לאחרונה על ידי
                        #81

                        @אפרול תוכל לעלות רק את הAPK לעוגן פליי
                        או האם אני יכול לעלות

                        במילא כתוב את כל שלבי וצורות ההתקנה בפנים
                        יישר כח עצום
                        חילך לאורייתא!!

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

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

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

                        בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                        הרשמה התחברות

                        • התחברות

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

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