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

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