דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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. שיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36

שיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36

מתוזמן נעוץ נעול הועבר עזרה הדדית - אנדרואיד
20 פוסטים 8 כותבים 323 צפיות 9 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • עדלאידעע עדלאידע

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

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

    אז ערכתי את הפונקציה הזאת שבכלל לא תתחיל, ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
    פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...
    Recent Apps Limit Fix.zip

    ליוצרי הגירסאות, זה הservices.jar המתוקן, לשים ב-/system/framework

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

    @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

    ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
    פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...

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

    למה באתיל תגובה 1 תגובה אחרונה
    1
    • י יאיר דניאל

      @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

      ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
      פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...

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

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

      @יאיר-דניאל כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

      @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

      ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
      פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...

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

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

      תגובה 1 תגובה אחרונה
      3
      • פ פיני10

        @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

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

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

        אז ערכתי את הפונקציה הזאת שבכלל לא תתחיל, ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
        פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...
        Recent Apps Limit Fix.zip

        ליוצרי הגירסאות, זה הservices.jar המתוקן, לשים ב-/system/framework

        ואוו סוף סוף אין עליך (למה התעוררת לכתוב את זה רק עכשיו?)
        מותר לשאול מי כיוון אותך לשם?

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

        @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

        (למה התעוררת לכתוב את זה רק עכשיו?)

        כי רק עכשיו היה לי זמן לחקור איפה בדיוק הבעיה...

        מותר לשאול מי כיוון אותך לשם?

        עשיתי Logcat ב-ADB ובדקתי מה קורה כשאני פותח את האפליקציה הרביעית, ראיתי שהוא סוגר את האפליקציה הראשונה בגלל הפונקציה removeTask,
        חיפשתי את הפונקציה הזאת ב-SystemUI ולא מצאתי, חיפשתי ב-framework-res וראיתי את הפונקציה הרגילה של ניהול אפליקציות אבל היה שם משהו מוזר כאילו הוא מחכה לפונקציה שתדרוס אותו,
        אז האזנתי עם Frida לפונקציה removeTask וראיתי שמה שמפעיל אותה זה הפונקציה checkRecentTask בקלאס RecentTasks
        אז בדקתי ב-services.jar וב"ה מצאתי את הפונקציה.

        אם זה מעניין אותך זה הפונקציה:

        .method private checkRecentTask()V
        .registers 10
        code
        Code
        .line 1192
        iget-object v0, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
        
        iget-object v0, v0, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
        
        iget-object v1, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
        
        iget-object v1, v1, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
        
        const-string v1, "activity"
        
        invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
        
        move-result-object v0
        
        check-cast v0, Landroid/app/ActivityManager;
        
        .line 1194
        .local v0, "mAm":Landroid/app/ActivityManager;
        const/16 v1, 0xa
        
        .line 1195
        .local v1, "minNumTasksToQuery":I
        :try_start_12
        invoke-static {}, Landroid/app/ActivityManager;->getMaxRecentTasksStatic()I
        
        move-result v2
        
        invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I
        
        move-result v2
        
        .line 1196
        .local v2, "numTasksToQuery":I
        const/4 v3, 0x3
        
        .line 1198
        .local v3, "flag":I
        invoke-virtual {v0, v2, v3}, Landroid/app/ActivityManager;->getRecentTasks(II)Ljava/util/List;
        
        move-result-object v4
        
        iput-object v4, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
        
        .line 1199
        invoke-interface {v4}, Ljava/util/List;->size()I
        
        move-result v4
        
        const/4 v5, 0x3
        
        if-le v4, v5, :cond_64
        
        .line 1200
        const/4 v4, 0x3
        
        .local v4, "i":I
        :goto_29
        iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
        
        invoke-interface {v5}, Ljava/util/List;->size()I
        
        move-result v5
        
        if-ge v4, v5, :cond_64
        
        .line 1201
        iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
        
        invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
        
        move-result-object v5
        
        check-cast v5, Landroid/app/ActivityManager$RecentTaskInfo;
        
        .line 1202
        .local v5, "info":Landroid/app/ActivityManager$RecentTaskInfo;
        if-eqz v5, :cond_61
        
        .line 1203
        const-string v6, "kenTestTag"
        
        new-instance v7, Ljava/lang/StringBuilder;
        
        invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
        
        const-string/jumbo v8, "removeTask....."
        
        invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        
        move-result-object v7
        
        iget-object v8, v5, Landroid/app/ActivityManager$RecentTaskInfo;->realActivity:Landroid/content/ComponentName;
        
        invoke-virtual {v8}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
        
        move-result-object v8
        
        invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
        
        move-result-object v7
        
        invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
        
        move-result-object v7
        
        invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
        
        .line 1204
        iget-object v6, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
        
        iget v7, v5, Landroid/app/ActivityManager$RecentTaskInfo;->persistentId:I
        
        invoke-virtual {v6, v7}, Lcom/android/server/wm/ActivityTaskManagerService;->removeTask(I)Z
        :try_end_61
        .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_61} :catch_65
        
        .line 1200
        .end local v5    # "info":Landroid/app/ActivityManager$RecentTaskInfo;
        :cond_61
        add-int/lit8 v4, v4, 0x1
        
        goto :goto_29
        
        .line 1210
        .end local v1    # "minNumTasksToQuery":I
        .end local v2    # "numTasksToQuery":I
        .end local v3    # "flag":I
        .end local v4    # "i":I
        :cond_64
        goto :goto_6d
        
        .line 1208
        :catch_65
        move-exception v1
        
        .line 1209
        .local v1, "e":Ljava/lang/Exception;
        const-string v2, "ActivityTaskManager"
        
        const-string v3, "Failed to get recent tasks"
        
        invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
        
        .line 1211
        .end local v1    # "e":Ljava/lang/Exception;
        :goto_6d
        return-void
        .end method
        

        ה מישהו12מ פ 3 תגובות תגובה אחרונה
        8
        • עדלאידעע עדלאידע

          @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

          (למה התעוררת לכתוב את זה רק עכשיו?)

          כי רק עכשיו היה לי זמן לחקור איפה בדיוק הבעיה...

          מותר לשאול מי כיוון אותך לשם?

          עשיתי Logcat ב-ADB ובדקתי מה קורה כשאני פותח את האפליקציה הרביעית, ראיתי שהוא סוגר את האפליקציה הראשונה בגלל הפונקציה removeTask,
          חיפשתי את הפונקציה הזאת ב-SystemUI ולא מצאתי, חיפשתי ב-framework-res וראיתי את הפונקציה הרגילה של ניהול אפליקציות אבל היה שם משהו מוזר כאילו הוא מחכה לפונקציה שתדרוס אותו,
          אז האזנתי עם Frida לפונקציה removeTask וראיתי שמה שמפעיל אותה זה הפונקציה checkRecentTask בקלאס RecentTasks
          אז בדקתי ב-services.jar וב"ה מצאתי את הפונקציה.

          אם זה מעניין אותך זה הפונקציה:

          .method private checkRecentTask()V
          .registers 10
          code
          Code
          .line 1192
          iget-object v0, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
          
          iget-object v0, v0, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
          
          iget-object v1, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
          
          iget-object v1, v1, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
          
          const-string v1, "activity"
          
          invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
          
          move-result-object v0
          
          check-cast v0, Landroid/app/ActivityManager;
          
          .line 1194
          .local v0, "mAm":Landroid/app/ActivityManager;
          const/16 v1, 0xa
          
          .line 1195
          .local v1, "minNumTasksToQuery":I
          :try_start_12
          invoke-static {}, Landroid/app/ActivityManager;->getMaxRecentTasksStatic()I
          
          move-result v2
          
          invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I
          
          move-result v2
          
          .line 1196
          .local v2, "numTasksToQuery":I
          const/4 v3, 0x3
          
          .line 1198
          .local v3, "flag":I
          invoke-virtual {v0, v2, v3}, Landroid/app/ActivityManager;->getRecentTasks(II)Ljava/util/List;
          
          move-result-object v4
          
          iput-object v4, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
          
          .line 1199
          invoke-interface {v4}, Ljava/util/List;->size()I
          
          move-result v4
          
          const/4 v5, 0x3
          
          if-le v4, v5, :cond_64
          
          .line 1200
          const/4 v4, 0x3
          
          .local v4, "i":I
          :goto_29
          iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
          
          invoke-interface {v5}, Ljava/util/List;->size()I
          
          move-result v5
          
          if-ge v4, v5, :cond_64
          
          .line 1201
          iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
          
          invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
          
          move-result-object v5
          
          check-cast v5, Landroid/app/ActivityManager$RecentTaskInfo;
          
          .line 1202
          .local v5, "info":Landroid/app/ActivityManager$RecentTaskInfo;
          if-eqz v5, :cond_61
          
          .line 1203
          const-string v6, "kenTestTag"
          
          new-instance v7, Ljava/lang/StringBuilder;
          
          invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
          
          const-string/jumbo v8, "removeTask....."
          
          invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          
          move-result-object v7
          
          iget-object v8, v5, Landroid/app/ActivityManager$RecentTaskInfo;->realActivity:Landroid/content/ComponentName;
          
          invoke-virtual {v8}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
          
          move-result-object v8
          
          invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
          
          move-result-object v7
          
          invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
          
          move-result-object v7
          
          invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
          
          .line 1204
          iget-object v6, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
          
          iget v7, v5, Landroid/app/ActivityManager$RecentTaskInfo;->persistentId:I
          
          invoke-virtual {v6, v7}, Lcom/android/server/wm/ActivityTaskManagerService;->removeTask(I)Z
          :try_end_61
          .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_61} :catch_65
          
          .line 1200
          .end local v5    # "info":Landroid/app/ActivityManager$RecentTaskInfo;
          :cond_61
          add-int/lit8 v4, v4, 0x1
          
          goto :goto_29
          
          .line 1210
          .end local v1    # "minNumTasksToQuery":I
          .end local v2    # "numTasksToQuery":I
          .end local v3    # "flag":I
          .end local v4    # "i":I
          :cond_64
          goto :goto_6d
          
          .line 1208
          :catch_65
          move-exception v1
          
          .line 1209
          .local v1, "e":Ljava/lang/Exception;
          const-string v2, "ActivityTaskManager"
          
          const-string v3, "Failed to get recent tasks"
          
          invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
          
          .line 1211
          .end local v1    # "e":Ljava/lang/Exception;
          :goto_6d
          return-void
          .end method
          

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

          @עדלאידע איזה ראש הלוואי עלי...
          כל הכבוד עבודה יפה תודה רבה עוזר הרבה לאלו שיש להם את הm36

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

            @עדלאידע איזה ראש הלוואי עלי...
            כל הכבוד עבודה יפה תודה רבה עוזר הרבה לאלו שיש להם את הm36

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

            @הרב-של-השכונה כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

            @עדלאידע איזה ראש הלוואי עלי...

            @הרב-של-השכונה כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

            @עדלאידע איזה ראש הלוואי עלי...

            לא ראש. ידע

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

              @הרב-של-השכונה כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

              @עדלאידע איזה ראש הלוואי עלי...

              @הרב-של-השכונה כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

              @עדלאידע איזה ראש הלוואי עלי...

              לא ראש. ידע

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

              @למה-באתי נו בשביל הידע צריך גם ראש לא אלו חלק מהדרישות?
              ||סטינו מהנושא...||

              תגובה 1 תגובה אחרונה
              1
              • עדלאידעע עדלאידע

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

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

                אז ערכתי את הפונקציה הזאת שבכלל לא תתחיל, ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
                פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...
                Recent Apps Limit Fix.zip

                ליוצרי הגירסאות, זה הservices.jar המתוקן, לשים ב-/system/framework

                E מנותק
                E מנותק
                ezerphone
                כתב נערך לאחרונה על ידי
                #9

                @עדלאידע דבר ראשון תודה!!!!
                דבר שני כרגע אין לי את הנגן ככה שאני לא יכול לערוך את הגירסה בהמשך אי"ה אני אעדכן

                תגובה 1 תגובה אחרונה
                0
                • עדלאידעע עדלאידע

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

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

                  אז ערכתי את הפונקציה הזאת שבכלל לא תתחיל, ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
                  פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...
                  Recent Apps Limit Fix.zip

                  ליוצרי הגירסאות, זה הservices.jar המתוקן, לשים ב-/system/framework

                  E מנותק
                  E מנותק
                  ezerphone
                  כתב נערך לאחרונה על ידי
                  #10

                  @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                  לשלל באגים במכשיר

                  ואיזה עוד?

                  תגובה 1 תגובה אחרונה
                  0
                  • עדלאידעע עדלאידע

                    @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                    (למה התעוררת לכתוב את זה רק עכשיו?)

                    כי רק עכשיו היה לי זמן לחקור איפה בדיוק הבעיה...

                    מותר לשאול מי כיוון אותך לשם?

                    עשיתי Logcat ב-ADB ובדקתי מה קורה כשאני פותח את האפליקציה הרביעית, ראיתי שהוא סוגר את האפליקציה הראשונה בגלל הפונקציה removeTask,
                    חיפשתי את הפונקציה הזאת ב-SystemUI ולא מצאתי, חיפשתי ב-framework-res וראיתי את הפונקציה הרגילה של ניהול אפליקציות אבל היה שם משהו מוזר כאילו הוא מחכה לפונקציה שתדרוס אותו,
                    אז האזנתי עם Frida לפונקציה removeTask וראיתי שמה שמפעיל אותה זה הפונקציה checkRecentTask בקלאס RecentTasks
                    אז בדקתי ב-services.jar וב"ה מצאתי את הפונקציה.

                    אם זה מעניין אותך זה הפונקציה:

                    .method private checkRecentTask()V
                    .registers 10
                    code
                    Code
                    .line 1192
                    iget-object v0, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
                    
                    iget-object v0, v0, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
                    
                    iget-object v1, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
                    
                    iget-object v1, v1, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
                    
                    const-string v1, "activity"
                    
                    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
                    
                    move-result-object v0
                    
                    check-cast v0, Landroid/app/ActivityManager;
                    
                    .line 1194
                    .local v0, "mAm":Landroid/app/ActivityManager;
                    const/16 v1, 0xa
                    
                    .line 1195
                    .local v1, "minNumTasksToQuery":I
                    :try_start_12
                    invoke-static {}, Landroid/app/ActivityManager;->getMaxRecentTasksStatic()I
                    
                    move-result v2
                    
                    invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I
                    
                    move-result v2
                    
                    .line 1196
                    .local v2, "numTasksToQuery":I
                    const/4 v3, 0x3
                    
                    .line 1198
                    .local v3, "flag":I
                    invoke-virtual {v0, v2, v3}, Landroid/app/ActivityManager;->getRecentTasks(II)Ljava/util/List;
                    
                    move-result-object v4
                    
                    iput-object v4, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
                    
                    .line 1199
                    invoke-interface {v4}, Ljava/util/List;->size()I
                    
                    move-result v4
                    
                    const/4 v5, 0x3
                    
                    if-le v4, v5, :cond_64
                    
                    .line 1200
                    const/4 v4, 0x3
                    
                    .local v4, "i":I
                    :goto_29
                    iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
                    
                    invoke-interface {v5}, Ljava/util/List;->size()I
                    
                    move-result v5
                    
                    if-ge v4, v5, :cond_64
                    
                    .line 1201
                    iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
                    
                    invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
                    
                    move-result-object v5
                    
                    check-cast v5, Landroid/app/ActivityManager$RecentTaskInfo;
                    
                    .line 1202
                    .local v5, "info":Landroid/app/ActivityManager$RecentTaskInfo;
                    if-eqz v5, :cond_61
                    
                    .line 1203
                    const-string v6, "kenTestTag"
                    
                    new-instance v7, Ljava/lang/StringBuilder;
                    
                    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
                    
                    const-string/jumbo v8, "removeTask....."
                    
                    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                    
                    move-result-object v7
                    
                    iget-object v8, v5, Landroid/app/ActivityManager$RecentTaskInfo;->realActivity:Landroid/content/ComponentName;
                    
                    invoke-virtual {v8}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
                    
                    move-result-object v8
                    
                    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                    
                    move-result-object v7
                    
                    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
                    
                    move-result-object v7
                    
                    invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
                    
                    .line 1204
                    iget-object v6, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
                    
                    iget v7, v5, Landroid/app/ActivityManager$RecentTaskInfo;->persistentId:I
                    
                    invoke-virtual {v6, v7}, Lcom/android/server/wm/ActivityTaskManagerService;->removeTask(I)Z
                    :try_end_61
                    .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_61} :catch_65
                    
                    .line 1200
                    .end local v5    # "info":Landroid/app/ActivityManager$RecentTaskInfo;
                    :cond_61
                    add-int/lit8 v4, v4, 0x1
                    
                    goto :goto_29
                    
                    .line 1210
                    .end local v1    # "minNumTasksToQuery":I
                    .end local v2    # "numTasksToQuery":I
                    .end local v3    # "flag":I
                    .end local v4    # "i":I
                    :cond_64
                    goto :goto_6d
                    
                    .line 1208
                    :catch_65
                    move-exception v1
                    
                    .line 1209
                    .local v1, "e":Ljava/lang/Exception;
                    const-string v2, "ActivityTaskManager"
                    
                    const-string v3, "Failed to get recent tasks"
                    
                    invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
                    
                    .line 1211
                    .end local v1    # "e":Ljava/lang/Exception;
                    :goto_6d
                    return-void
                    .end method
                    

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

                    @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

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

                    אפשר הסבר מה הכוונה? מה היה מוזר?

                    הבלוג שלי
                    https://aiv-dev.com/he-IL/

                    עדלאידעע תגובה 1 תגובה אחרונה
                    0
                    • עדלאידעע עדלאידע

                      @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                      (למה התעוררת לכתוב את זה רק עכשיו?)

                      כי רק עכשיו היה לי זמן לחקור איפה בדיוק הבעיה...

                      מותר לשאול מי כיוון אותך לשם?

                      עשיתי Logcat ב-ADB ובדקתי מה קורה כשאני פותח את האפליקציה הרביעית, ראיתי שהוא סוגר את האפליקציה הראשונה בגלל הפונקציה removeTask,
                      חיפשתי את הפונקציה הזאת ב-SystemUI ולא מצאתי, חיפשתי ב-framework-res וראיתי את הפונקציה הרגילה של ניהול אפליקציות אבל היה שם משהו מוזר כאילו הוא מחכה לפונקציה שתדרוס אותו,
                      אז האזנתי עם Frida לפונקציה removeTask וראיתי שמה שמפעיל אותה זה הפונקציה checkRecentTask בקלאס RecentTasks
                      אז בדקתי ב-services.jar וב"ה מצאתי את הפונקציה.

                      אם זה מעניין אותך זה הפונקציה:

                      .method private checkRecentTask()V
                      .registers 10
                      code
                      Code
                      .line 1192
                      iget-object v0, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
                      
                      iget-object v0, v0, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
                      
                      iget-object v1, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
                      
                      iget-object v1, v1, Lcom/android/server/wm/ActivityTaskManagerService;->mContext:Landroid/content/Context;
                      
                      const-string v1, "activity"
                      
                      invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
                      
                      move-result-object v0
                      
                      check-cast v0, Landroid/app/ActivityManager;
                      
                      .line 1194
                      .local v0, "mAm":Landroid/app/ActivityManager;
                      const/16 v1, 0xa
                      
                      .line 1195
                      .local v1, "minNumTasksToQuery":I
                      :try_start_12
                      invoke-static {}, Landroid/app/ActivityManager;->getMaxRecentTasksStatic()I
                      
                      move-result v2
                      
                      invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I
                      
                      move-result v2
                      
                      .line 1196
                      .local v2, "numTasksToQuery":I
                      const/4 v3, 0x3
                      
                      .line 1198
                      .local v3, "flag":I
                      invoke-virtual {v0, v2, v3}, Landroid/app/ActivityManager;->getRecentTasks(II)Ljava/util/List;
                      
                      move-result-object v4
                      
                      iput-object v4, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
                      
                      .line 1199
                      invoke-interface {v4}, Ljava/util/List;->size()I
                      
                      move-result v4
                      
                      const/4 v5, 0x3
                      
                      if-le v4, v5, :cond_64
                      
                      .line 1200
                      const/4 v4, 0x3
                      
                      .local v4, "i":I
                      :goto_29
                      iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
                      
                      invoke-interface {v5}, Ljava/util/List;->size()I
                      
                      move-result v5
                      
                      if-ge v4, v5, :cond_64
                      
                      .line 1201
                      iget-object v5, p0, Lcom/android/server/wm/RecentTasks;->tasks2:Ljava/util/List;
                      
                      invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
                      
                      move-result-object v5
                      
                      check-cast v5, Landroid/app/ActivityManager$RecentTaskInfo;
                      
                      .line 1202
                      .local v5, "info":Landroid/app/ActivityManager$RecentTaskInfo;
                      if-eqz v5, :cond_61
                      
                      .line 1203
                      const-string v6, "kenTestTag"
                      
                      new-instance v7, Ljava/lang/StringBuilder;
                      
                      invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
                      
                      const-string/jumbo v8, "removeTask....."
                      
                      invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                      
                      move-result-object v7
                      
                      iget-object v8, v5, Landroid/app/ActivityManager$RecentTaskInfo;->realActivity:Landroid/content/ComponentName;
                      
                      invoke-virtual {v8}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
                      
                      move-result-object v8
                      
                      invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
                      
                      move-result-object v7
                      
                      invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
                      
                      move-result-object v7
                      
                      invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
                      
                      .line 1204
                      iget-object v6, p0, Lcom/android/server/wm/RecentTasks;->mService:Lcom/android/server/wm/ActivityTaskManagerService;
                      
                      iget v7, v5, Landroid/app/ActivityManager$RecentTaskInfo;->persistentId:I
                      
                      invoke-virtual {v6, v7}, Lcom/android/server/wm/ActivityTaskManagerService;->removeTask(I)Z
                      :try_end_61
                      .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_61} :catch_65
                      
                      .line 1200
                      .end local v5    # "info":Landroid/app/ActivityManager$RecentTaskInfo;
                      :cond_61
                      add-int/lit8 v4, v4, 0x1
                      
                      goto :goto_29
                      
                      .line 1210
                      .end local v1    # "minNumTasksToQuery":I
                      .end local v2    # "numTasksToQuery":I
                      .end local v3    # "flag":I
                      .end local v4    # "i":I
                      :cond_64
                      goto :goto_6d
                      
                      .line 1208
                      :catch_65
                      move-exception v1
                      
                      .line 1209
                      .local v1, "e":Ljava/lang/Exception;
                      const-string v2, "ActivityTaskManager"
                      
                      const-string v3, "Failed to get recent tasks"
                      
                      invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
                      
                      .line 1211
                      .end local v1    # "e":Ljava/lang/Exception;
                      :goto_6d
                      return-void
                      .end method
                      

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

                      @עדלאידע מי קורא לפונקציה system ui או blueshark?
                      (אגב זה רק מחזק את ההשערה שלי שהרום שמגיע עם המכשיר זה בעצם gsi שהלבישו עליו...)

                      למה באתיל תגובה 1 תגובה אחרונה
                      0
                      • פ פיני10

                        @עדלאידע מי קורא לפונקציה system ui או blueshark?
                        (אגב זה רק מחזק את ההשערה שלי שהרום שמגיע עם המכשיר זה בעצם gsi שהלבישו עליו...)

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

                        @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                        (אגב זה רק מחזק את ההשערה שלי שהרום שמגיע עם המכשיר זה בעצם gsi שהלבישו עליו...)

                        מה ההו"א?

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

                          @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                          (אגב זה רק מחזק את ההשערה שלי שהרום שמגיע עם המכשיר זה בעצם gsi שהלבישו עליו...)

                          מה ההו"א?

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

                          @למה-באתי שהרום המקורי של המכשיר הוא באמת אנדרואיד 13 ולא משהו יותר נמוך...

                          למה באתיל תגובה 1 תגובה אחרונה
                          0
                          • פ פיני10

                            @למה-באתי שהרום המקורי של המכשיר הוא באמת אנדרואיד 13 ולא משהו יותר נמוך...

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

                            @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                            @למה-באתי שהרום המקורי של המכשיר הוא באמת אנדרואיד 13 ולא משהו יותר נמוך...

                            מה מביא אותך להסכמה שזה GSI?

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

                              @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                              @למה-באתי שהרום המקורי של המכשיר הוא באמת אנדרואיד 13 ולא משהו יותר נמוך...

                              מה מביא אותך להסכמה שזה GSI?

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

                              @למה-באתי אין לי הסכמה שזה gsi אלא הנחה כזאת שאני לא בטוח שהיא נכונה

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

                                @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

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

                                אפשר הסבר מה הכוונה? מה היה מוזר?

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

                                @מישהו12 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                                @עדלאידע כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

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

                                אפשר הסבר מה הכוונה? מה היה מוזר?

                                היה שם בקובץ integers.xml את הערך הבא:

                                config_maxNumVisibleRecentTasks = "-1"
                                

                                מה שבפועל לא נכון כי תכלס' ההגבלה היא 3...
                                ובמקום פשוט לכתוב שם את הערך 3 היצרן בחר לקבוע את ההגבלה בקומבינה מטופשת ישירות ב-services.jar...

                                תגובה 1 תגובה אחרונה
                                1
                                • עדלאידעע עדלאידע

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

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

                                  אז ערכתי את הפונקציה הזאת שבכלל לא תתחיל, ויצרתי מודול מאג'יסק שדוחף את ה-services.jar המתוקן לסיסטם,
                                  פשוט להתקין את המודול ולהפעיל מחדש, כמובן דורש רוט...
                                  Recent Apps Limit Fix.zip

                                  ליוצרי הגירסאות, זה הservices.jar המתוקן, לשים ב-/system/framework

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

                                  @עדלאידע המודל לא עובד לי בהתקנה אני מקבל שגיאה שהפתיחה של הזיפ נכשלה

                                  E שניאור שמחש 2 תגובות תגובה אחרונה
                                  0
                                  • פ פיני10

                                    @עדלאידע המודל לא עובד לי בהתקנה אני מקבל שגיאה שהפתיחה של הזיפ נכשלה

                                    E מנותק
                                    E מנותק
                                    ezerphone
                                    כתב נערך לאחרונה על ידי
                                    #19

                                    @פיני10 אם אתה רוצה עשיתי גרסה מסודרת

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

                                      @עדלאידע המודל לא עובד לי בהתקנה אני מקבל שגיאה שהפתיחה של הזיפ נכשלה

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

                                      @פיני10 כתב בשיתוף | תיקון הבאג של ה-3 אפליקציות ביישומים אחרונים ב-m36:

                                      @עדלאידע המודל לא עובד לי בהתקנה אני מקבל שגיאה שהפתיחה של הזיפ נכשלה

                                      איזה גרסת מגיסק יש לך?

                                      "אם לא תנסה, איך תדע?"

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

                                      • התחברות

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

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