解决方案 »

  1.   

    试过如下方法,但是编译后都会报错
    1. 把.line580行删除
    2. 改为 .line580 nop
    有其他方法没
      

  2.   

    if-eqz v2, :cond_3d    .line 580
        new-instance v2, Ljava/lang/IllegalStateException;    new-instance v4, Ljava/lang/StringBuilder;    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V    const-string v5, "UiAutomationService "    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;    move-result-object v4    invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;    move-result-object v4    const-string v5, "already registered!"    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;    move-result-object v4    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;    move-result-object v4    invoke-direct {v2, v4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V    throw v2 直接删掉这部分不行么
      

  3.   

    试了不行,修改smali后编译,用jd-gui查看jar,会发现有错误,如下,帮忙看下哈
    /* Error */
      public void registerUiTestAutomationService(IBinder paramIBinder, IAccessibilityServiceClient paramIAccessibilityServiceClient, AccessibilityServiceInfo paramAccessibilityServiceInfo)
      {
        // Byte code:
        //   0: aload_0
        //   1: getfield 195 com/android/server/accessibility/AccessibilityManagerService:mSecurityPolicy Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;
        //   4: ldc_w 1235
        //   7: ldc 17
        //   9: invokestatic 1043 com/android/server/accessibility/AccessibilityManagerService$SecurityPolicy:access$1100 (Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Ljava/lang/String;Ljava/lang/String;)V
        //   12: aload_3
        //   13: getstatic 96 com/android/server/accessibility/AccessibilityManagerService:sFakeAccessibilityServiceComponentName Landroid/content/ComponentName;
        //   16: invokevirtual 1239 android/accessibilityservice/AccessibilityServiceInfo:setComponentName (Landroid/content/ComponentName;)V
        //   19: aload_0
        //   20: getfield 114 com/android/server/accessibility/AccessibilityManagerService:mLock Ljava/lang/Object;
        //   23: astore 4
        //   25: aload 4
        //   27: monitorenter
        //   28: aload_0
        //   29: invokespecial 258 com/android/server/accessibility/AccessibilityManagerService:getCurrentUserStateLocked ()Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
        //   32: invokestatic 965 com/android/server/accessibility/AccessibilityManagerService$UserState:access$300 (Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Lcom/android/server/accessibility/AccessibilityManagerService$Service;
        //   35: pop
        //   36: goto +4 -> 40
        //   39: pop
        //   40: astore 6
        //   42: aload 4
        //   44: monitorexit
        //   45: aload 6
        //   47: athrow
        // Local variable table:
        //   start length slot name signature
        //   0 48 0 this AccessibilityManagerService
        //   0 48 1 paramIBinder IBinder
        //   0 48 2 paramIAccessibilityServiceClient IAccessibilityServiceClient
        //   0 48 3 paramAccessibilityServiceInfo AccessibilityServiceInfo
        //   23 3 4 localObject Object
        // Exception table:
        //   from to target type
        //   28 36 39 finally
        //   39 40 39 finally
        //   42 45 39 finally
      }
    /////////////////////////////////////////////