Android-Redex v2017.10.31: A bytecode optimizer for Android apps

icon
Latest Release: v2017.10.31

ReDex: An Android Bytecode Optimizer

ReDex is an Android bytecode (dex) optimizer originally developed at Facebook. It provides a framework for reading, writing, and analyzing .dex files, and a set of optimization passes that use this framework to improve the bytecode. An APK optimized by ReDex should be smaller and faster than its source.

Go to https://fbredex.com for full documentation.

Comments

  • Bad dex magic dex 039 and support_dex_version is 35
    Bad dex magic dex 039 and support_dex_version is 35

    Dec 24, 2021

    Do you know how to change dex magic version by changing android sdk version.

    Reply
  • MSYS2 cmake path error
    MSYS2 cmake path error

    Dec 31, 2021

    python3: can't open file '/c/redex-main/build-cmake/C:/redex-main/gen_packed_apilevels.py': [Errno 2] No such file or directory
    make[2]: *** [CMakeFiles/generated_apilevels.dir/build.make:87: generated_apilevels.py] Error 2
    make[1]: *** [CMakeFiles/Makefile2:196: CMakeFiles/generated_apilevels.dir/all] Error 2
    

    My working directory is /c/redex-main/build-cmake Line 87 of build.make: python3 C:/redex-main/gen_packed_apilevels.py -o generated_apilevels.py ...

    Reply
  • I noticed my dex version was 39, which isn't supported by Redex (v35). Is there a specific android version cutoff where my dex files are v35?
    I noticed my dex version was 39, which isn't supported by Redex (v35). Is there a specific android version cutoff where my dex files are v35?

    Jan 6, 2022

    I noticed my dex version was 39, which isn't supported by Redex (v35). Is there a specific android version cutoff where my dex files are v35?

    Originally posted by @nigel in https://github.com/facebook/redex/issues/507#issuecomment-693732156

    Reply
  • Inconsistency found in Dex code for Le/x/a/a/a/x/c/g;.a:(Ljava/util/concurrent/Callable;Z)Ljava/lang/Object;  Encountered overwrite of `this` register by CONST v0, 0
    Inconsistency found in Dex code for Le/x/a/a/a/x/c/g;.a:(Ljava/util/concurrent/Callable;Z)Ljava/lang/Object; Encountered overwrite of `this` register by CONST v0, 0

    Jan 7, 2022

    hi,after I run it, it prompts me the following error

    Extracting apk...
    Unpacking dex files
    Detecting Application Modules
    TRACE_CLASS_FILE=
    TRACE_CLASS_NAME=
    Trace settings:
    TRACEFILE=
    SHOW_TIMESTAMPS=
    SHOW_TRACEMODULE=
    TRACE_METHOD_FILTER=
    Command line -j option: /Users/qixue/sdk/android/platforms/android-29/android.jar
    Verify-none mode: No
    Art build: No
    Enable InstrumentPass: No
    parsed minSdkVersion = 19
    Dependent JAR specified on command-line: /Users/qixue/sdk/android/platforms/android-29/android.jar
    dup_class_allowlist: { 
      Lcom/facebook/soloader/MergedSoMapping;
      Ljunit/framework/TestSuite;
      L$r8$java8methods$utility
      Ljava/util/stream/Stream$-
      Ljava/util/stream/IntStream$-
      Landroid/os/IBinder$-
    }
    Loading classes from dex from /tmp/redex.t79BNl/tmp9lqmgjy2.redex_dexen/dex0/classes.dex
    Loading classes from dex from /tmp/redex.t79BNl/tmp9lqmgjy2.redex_dexen/dex1/classes2.dex
    Loading classes from dex from /tmp/redex.t79BNl/tmp9lqmgjy2.redex_dexen/dex2/classes3.dex
            Load classes from dexes completed in 0.3 seconds
    LIBRARY JAR: /Users/qixue/sdk/android/platforms/android-29/android.jar
            Load library jars completed in 0.5 seconds
            Deobfuscating dex elements completed in 0.1 seconds
                Process keep for whyareyoukeeping completed in 0.0 seconds
                Process keep for classes and members completed in 0.0 seconds
                Process keep for assumenosideeffects completed in 0.0 seconds
            Processing proguard rules completed in 0.0 seconds
            No Optimizations Rules completed in 0.0 seconds
                Mark keep-methods completed in 0.0 seconds
    Keeping vmethod Lcom/apkpure/aegon/person/activity/LoginActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
    Keeping vmethod Lcom/apkpure/aegon/person/activity/UserInfoEditActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
    Keeping vmethod Lcom/apkpure/aegon/widgets/clipImageview/CropImgActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
    Keeping vmethod Lcom/luck/picture/lib/PictureExternalPreviewActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
    Keeping vmethod Lcom/luck/picture/lib/PicturePlayAudioActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
    Keeping vmethod Lcom/luck/picture/lib/PicturePreviewActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
    Keeping vmethod Lcom/luck/picture/lib/PictureSelectorActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
    Keeping vmethod Lcom/luck/picture/lib/PictureVideoPlayActivity;.onClick:(Landroid/view/View;)V due to onClick attribute in XML.
                Computing XML reachability completed in 0.0 seconds
                Computing native reachability completed in 0.0 seconds
                Analyzing reflection completed in 0.0 seconds
                Analyzing Serializable completed in 0.0 seconds
                Initializing for json serde completed in 0.0 seconds
            Initializing reachable classes completed in 0.1 seconds
        Redex_frontend completed in 1.1 seconds
            API Level Checker completed in 0.0 seconds
    WARNING: No inliner config
    Evaluating StripDebugInfoPass...
            StripDebugInfoPass (eval) completed in 0.0 seconds
    Running IRTypeChecker...
            IRTypeChecker completed in 1.7 seconds
    Running StripDebugInfoPass...
    Matched on 91985 methods. Removed 0 dbg line entries, 0 dbg local var entries, 0 dbg prologue start entries, 0 epilogue end entries, 9867 empty dbg tables, 0 skipped due to inlining
    dropping src file strings
    VmHWM for StripDebugInfoPass was 0.00 B (0.00 B over start).
    Running IRTypeChecker...
                IRTypeChecker completed in 1.7 seconds
    After processing unresolved lines: MethodProfiles successfully parsed 0 rows; 0 unresolved lines
            StripDebugInfoPass 1 (run) completed in 1.7 seconds
    Running IRTypeChecker...
    libc++abi: terminating with uncaught exception of type boost::exception_detail::error_info_injector<RedexException>: libredex/PassManager.cpp:305: boost::optional<std::string> (anonymous namespace)::CheckerConfig::run_verifier(const Scope &, bool): assertion `!exit_on_fail' failed.
    Inconsistency found in Dex code for Le/x/a/a/a/x/c/g;.a:(Ljava/util/concurrent/Callable;Z)Ljava/lang/Object;
     Encountered overwrite of `this` register by CONST v0, 0
    Code:
    [0x6000383f3b40] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v0
    [0x6000383f3b80] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v1
    [0x6000383f3bc0] OPCODE: IOPCODE_LOAD_PARAM v2
    [0x6000383f3be0] OPCODE: CONST v0, 0
    [0x6000383f3c00] OPCODE: THROW v0
    
    (11 more issues!)
    0   redex-all                           0x0000000109297361 _Z23debug_backtrace_handleri + 81
    1   libsystem_platform.dylib            0x00007ff814477e2d _sigtramp + 29
    2   libc++abi.dylib                     0x00007ff814421f4c libc++abi.dylib + 77644
    3   libsystem_c.dylib                   0x00007ff8143aed10 abort + 123
    4   libc++abi.dylib                     0x00007ff81441f0b2 abort_message + 241
    5   libc++abi.dylib                     0x00007ff8144101e5 _ZL28demangling_terminate_handlerv + 242
    6   libobjc.A.dylib                     0x00007ff81430d511 _ZL15_objc_terminatev + 104
    7   libc++abi.dylib                     0x00007ff81441e4d7 _ZSt11__terminatePFvvE + 8
    8   libc++abi.dylib                     0x00007ff814420d55 __cxa_get_exception_ptr + 0
    9   libc++abi.dylib                     0x00007ff814420d1c _ZN10__cxxabiv1L22exception_cleanup_funcE19_Unwind_Reason_CodeP17_Unwind_Exception + 0
    10  redex-all                           0x00000001092978bd _Z11assert_failPKcS0_jS0_10RedexErrorS0_z + 781
    11  redex-all                           0x000000010941819b _ZN12_GLOBAL__N_113CheckerConfig12run_verifierERKNSt3__16vectorIP8DexClassNS1_9allocatorIS4_EEEEb + 4283
    12  redex-all                           0x0000000109413f2e _ZN11PassManager10run_passesERNSt3__16vectorI8DexStoreNS0_9allocatorIS2_EEEER11ConfigFiles + 21454
    13  redex-all                           0x000000010921d8e9 main + 2681
    14  dyld                                0x0000000117f4f4fe start + 462
    Traceback (most recent call last):
      File "/tmp/redex.t79BNl/redex.py", line 1262, in <module>
        with_temp_cleanup(lambda: run_redex(args), args.always_clean_up)
      File "/private/tmp/redex.t79BNl/pyredex/utils.py", line 62, in with_temp_cleanup
        fn()
      File "/tmp/redex.t79BNl/redex.py", line 1262, in <lambda>
        with_temp_cleanup(lambda: run_redex(args), args.always_clean_up)
      File "/tmp/redex.t79BNl/redex.py", line 1241, in run_redex
        run_redex_binary(state, exception_formatter, output_line_handler)
      File "/tmp/redex.t79BNl/redex.py", line 374, in run_redex_binary
        run()
      File "/tmp/redex.t79BNl/redex.py", line 367, in run
        raise RuntimeError(msg)
    RuntimeError: redex-all crashed with exit code -6! You can re-run it under gdb by running /tmp/redex.t79BNl/redex-gdb-68bbyn9n.sh or under lldb by running /tmp/redex.t79BNl/redex-lldb-djvf2su6.sh
    
    Reply
  • RuntimeError: redex-all crashed with exit code -6! You can re-run it under gdb by running /tmp/redex.beKGO2/redex-gdb-4df9a653.sh or under lldb by running /tmp/redex.beKGO2/redex-lldb-9npd6wlf.sh
    RuntimeError: redex-all crashed with exit code -6! You can re-run it under gdb by running /tmp/redex.beKGO2/redex-gdb-4df9a653.sh or under lldb by running /tmp/redex.beKGO2/redex-lldb-9npd6wlf.sh

    Jan 7, 2022

    who can tell me why? thanks

    command:
    ANDROID_SDK=/Users/zhangyuehuan/Library/Android/sdk redex --sign -s /Users/zhangyuehuan/workspace/500w_android/tool/keystore/m2u/release/ -a wanandroid -p wanandroid -c ~/Desktop/interdex_stripdebuginfo.config -P /Users/zhangyuehuan/workspace/500w_android/app/proguard-rules.pro -o ~/Desktop/app-release-proguardwithr8-stripdebuginfo-interdex.apk ~/Desktop/tinyApk/M2U-test-normalrelease-2.7.8.20781_x64-20220107_mr278.apk

    outputs:

    RACE_CLASS_FILE= TRACE_CLASS_NAME= Trace settings: TRACEFILE= SHOW_TIMESTAMPS= SHOW_TRACEMODULE= TRACE_METHOD_FILTER= Unimplemented command (skipping): -ignorewarnings at line 1 Unimplemented command (skipping): -renamesourcefileattribute at line 6 Unimplemented command (skipping): -ignorewarnings at line 364 Expecting field or member specification but got synchronized at line 382 Unimplemented command (skipping): -ignorewarnings at line 501 Found 1 parse errors Parsed ProGuard config file completed in 0.0 seconds Load classes from dexes completed in 1.4 seconds Load library jars completed in 0.6 seconds Deobfuscating dex elements completed in 0.4 seconds Process keep for whyareyoukeeping completed in 0.0 seconds Process keep for classes and members completed in 1.7 seconds Process keep for assumenosideeffects completed in 0.0 seconds Processing proguard rules completed in 1.8 seconds No Optimizations Rules completed in 0.0 seconds Mark keep-methods completed in 0.0 seconds Computing XML reachability completed in 0.1 seconds Computing native reachability completed in 0.4 seconds Analyzing reflection completed in 0.1 seconds Analyzing Serializable completed in 0.0 seconds Initializing for json serde completed in 0.0 seconds Initializing reachable classes completed in 0.6 seconds Redex_frontend completed in 4.8 seconds API Level Checker completed in 0.1 seconds WARNING: No inliner config Evaluating StripDebugInfoPass... StripDebugInfoPass (eval) completed in 0.0 seconds Evaluating InterDexPass... InterDexPass (eval) completed in 0.0 seconds Evaluating RegAllocPass... RegAllocPass (eval) completed in 0.0 seconds Running IRTypeChecker... libc++abi: terminating with uncaught exception of type boost::exception_detail::error_info_injector: libredex/PassManager.cpp:275: static boost::optionalstd::string (anonymous namespace)::CheckerConfig::run_verifier(const Scope &, bool, bool, bool, bool, bool): assertion `!exit_on_fail' failed. Inconsistency found in Dex code for Lcom/yxcorp/gifshow/album/AlbumPerformanceOptOption$c;.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object; Type error in method Lcom/yxcorp/gifshow/album/AlbumPerformanceOptOption$c;.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object; at instruction 'INVOKE_DIRECT v0, v1, v4, v5, v2, Lcom/yxcorp/gifshow/album/AlbumPerformanceOptOption;.:(ZIZZ)V' @ 0x7ff3e2f9f2b0 for illegal access to private Lcom/yxcorp/gifshow/album/AlbumPerformanceOptOption;.:(ZIZZ)V from Lcom/yxcorp/gifshow/album/AlbumPerformanceOptOption$c;.createFromParcel:(Landroid/os/Parcel;)Ljava/lang/Object; Code: [0x7ff3dde649c0] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v6 [0x7ff3dde64a20] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v7 [0x7ff3dde656c0] OPCODE: CONST_STRING "in" [0x7ff3e2f9f4b0] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v0 [0x7ff3dde656e0] OPCODE: INVOKE_STATIC v7, v0, Lkotlin/jvm/internal/Intrinsics;.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V [0x7ff3dde657e0] OPCODE: NEW_INSTANCE Lcom/yxcorp/gifshow/album/AlbumPerformanceOptOption; [0x7ff3e2f9f530] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v0 [0x7ff3dde65800] OPCODE: INVOKE_VIRTUAL v7, Landroid/os/Parcel;.readInt:()I [0x7ff3e2f9e330] OPCODE: MOVE_RESULT v1 [0x7ff3e2f9e350] OPCODE: CONST v2, 1 [0x7ff3e2f9e450] OPCODE: CONST v3, 0 [0x7ff3e2f9e470] OPCODE: IF_EQZ v1 [0x7ff3e2f9e570] OPCODE: CONST v1, 1 [0x7ff3e2f9e590] OPCODE: GOTO [0x7ff3e2f9f3b0] TARGET: SIMPLE 0x7ff3e2f9e470 [0x7ff3e2f9e690] OPCODE: CONST v1, 0 [0x7ff3e2f9f3d0] TARGET: SIMPLE 0x7ff3e2f9e590 [0x7ff3e2f9e6b0] OPCODE: INVOKE_VIRTUAL v7, Landroid/os/Parcel;.readInt:()I [0x7ff3e2f9e7b0] OPCODE: MOVE_RESULT v4 [0x7ff3e2f9e7d0] OPCODE: INVOKE_VIRTUAL v7, Landroid/os/Parcel;.readInt:()I [0x7ff3dde648a0] OPCODE: MOVE_RESULT v5 [0x7ff3dde64900] OPCODE: IF_EQZ v5 [0x7ff3e2f9e970] OPCODE: CONST v5, 1 [0x7ff3e2f9e990] OPCODE: GOTO [0x7ff3e2f9f3f0] TARGET: SIMPLE 0x7ff3dde64900 [0x7ff3e2f9f070] OPCODE: CONST v5, 0 [0x7ff3e2f9f410] TARGET: SIMPLE 0x7ff3e2f9e990 [0x7ff3e2f9f0d0] OPCODE: INVOKE_VIRTUAL v7, Landroid/os/Parcel;.readInt:()I [0x7ff3e2f9f130] OPCODE: MOVE_RESULT v7 [0x7ff3e2f9f190] OPCODE: IF_EQZ v7 [0x7ff3e2f9f1f0] OPCODE: GOTO [0x7ff3e2f9f430] TARGET: SIMPLE 0x7ff3e2f9f190 [0x7ff3e2f9f250] OPCODE: CONST v2, 0 [0x7ff3e2f9f450] TARGET: SIMPLE 0x7ff3e2f9f1f0 [0x7ff3e2f9f2b0] OPCODE: INVOKE_DIRECT v0, v1, v4, v5, v2, Lcom/yxcorp/gifshow/album/AlbumPerformanceOptOption;.:(ZIZZ)V [0x7ff3e2f9f310] OPCODE: RETURN_OBJECT v0

    0 redex-all 0x000000011033a811 _Z23debug_backtrace_handleri + 81 1 libsystem_platform.dylib 0x00007fff204cdd7d _sigtramp + 29 2 ??? 0x00007ff300000400 0x0 + 140681653781504 3 libsystem_c.dylib 0x00007fff203dd406 abort + 125 4 libc++abi.dylib 0x00007fff2044bef2 abort_message + 241 5 libc++abi.dylib 0x00007fff2043d5e5 _ZL28demangling_terminate_handlerv + 242 6 libobjc.A.dylib 0x00007fff20336595 _ZL15_objc_terminatev + 104 7 libc++abi.dylib 0x00007fff2044b307 _ZSt11__terminatePFvvE + 8 8 libc++abi.dylib 0x00007fff2044dbeb __cxa_get_exception_ptr + 0 9 libc++abi.dylib 0x00007fff2044dbb2 _ZN10__cxxabiv1L22exception_cleanup_funcE19_Unwind_Reason_CodeP17_Unwind_Exception + 0 10 redex-all 0x000000011033ae01 _Z11assert_failPKcS0_jS0_10RedexErrorS0_z + 913 11 redex-all 0x00000001104ac43d _ZN12_GLOBAL__N_113CheckerConfig12run_verifierERKNSt3__16vectorIP8DexClassNS1_9allocatorIS4_EEEEbbbbb + 4221 12 redex-all 0x00000001104a4c58 _ZN11PassManager10run_passesERNSt3__16vectorI8DexStoreNS0_9allocatorIS2_EEEER11ConfigFiles + 6136 13 redex-all 0x00000001102c2984 main + 2852 14 libdyld.dylib 0x00007fff204a3f3d start + 1 Traceback (most recent call last): File "/tmp/redex.beKGO2/redex.py", line 1262, in with_temp_cleanup(lambda: run_redex(args), args.always_clean_up) File "/private/tmp/redex.beKGO2/pyredex/utils.py", line 62, in with_temp_cleanup fn() File "/tmp/redex.beKGO2/redex.py", line 1262, in with_temp_cleanup(lambda: run_redex(args), args.always_clean_up) File "/tmp/redex.beKGO2/redex.py", line 1241, in run_redex run_redex_binary(state, exception_formatter, output_line_handler) File "/tmp/redex.beKGO2/redex.py", line 374, in run_redex_binary run() File "/tmp/redex.beKGO2/redex.py", line 367, in run raise RuntimeError(msg) RuntimeError: redex-all crashed with exit code -6! You can re-run it under gdb by running /tmp/redex.beKGO2/redex-gdb-4df9a653.sh or under lldb by running /tmp/redex.beKGO2/redex-lldb-9npd6wlf.sh

    Reply
  • RuntimeError: redex-all crashed with exit code 1! You can re-run it under gdb by running /tmp/redex.xpwwAY/redex-gdb-5lzsrrdq.sh or under lldb by running /tmp/redex.xpwwAY/redex-lldb-xyukv4ql.sh
    RuntimeError: redex-all crashed with exit code 1! You can re-run it under gdb by running /tmp/redex.xpwwAY/redex-gdb-5lzsrrdq.sh or under lldb by running /tmp/redex.xpwwAY/redex-lldb-xyukv4ql.sh

    Jan 8, 2022

    ➜ ~ ANDROID_SDK=/Users/zhangyuehuan/Library/Android/sdk redex --sign -s /Users/zhangyuehuan/workspace/500w_android/tool/keystore/m2u/release/m2u.keystore -a m2u -p 123456 -c ~/Desktop/interdex_stripdebuginfo.config -P /Users/zhangyuehuan/workspace/500w_android/app/proguard-rules.pro -o ~/Desktop/app-release-proguardwithr8-stripdebuginfo-interdex.apk /Users/zhangyuehuan/Desktop/tinyApk/rb_2.7.8_origin/M2U-test-normalrelease-2.7.8.20781_x64.apk

    TRACE_CLASS_FILE= TRACE_CLASS_NAME= Trace settings: TRACEFILE= SHOW_TIMESTAMPS= SHOW_TRACEMODULE= TRACE_METHOD_FILTER= Unimplemented command (skipping): -ignorewarnings at line 1 Unimplemented command (skipping): -renamesourcefileattribute at line 6 Unimplemented command (skipping): -ignorewarnings at line 364 Expecting field or member specification but got synchronized at line 382 Unimplemented command (skipping): -ignorewarnings at line 501 Found 1 parse errors Parsed ProGuard config file completed in 0.0 seconds Load classes from dexes completed in 1.3 seconds Load library jars completed in 0.6 seconds Deobfuscating dex elements completed in 0.3 seconds Process keep for whyareyoukeeping completed in 0.0 seconds Process keep for classes and members completed in 1.7 seconds Process keep for assumenosideeffects completed in 0.0 seconds Processing proguard rules completed in 1.7 seconds No Optimizations Rules completed in 0.0 seconds Mark keep-methods completed in 0.0 seconds Computing XML reachability completed in 0.1 seconds Computing native reachability completed in 0.3 seconds Analyzing reflection completed in 0.1 seconds Analyzing Serializable completed in 0.0 seconds Initializing for json serde completed in 0.0 seconds Initializing reachable classes completed in 0.5 seconds Redex_frontend completed in 4.5 seconds API Level Checker completed in 0.1 seconds WARNING: No inliner config Evaluating StripDebugInfoPass... StripDebugInfoPass (eval) completed in 0.0 seconds Evaluating InterDexPass... InterDexPass (eval) completed in 0.0 seconds Evaluating RegAllocPass... RegAllocPass (eval) completed in 0.0 seconds Running IRTypeChecker... IRTypeChecker completed in 6.7 seconds Inconsistency found in Dex code for Lcom/kwai/performance/fluency/startup/monitor/tracker/ActivityTrackLifecycleCallbacksAndroidQ;.onActivityPostDestroyed:(Landroid/app/Activity;)V Type error in method Lcom/kwai/performance/fluency/startup/monitor/tracker/ActivityTrackLifecycleCallbacksAndroidQ;.onActivityPostDestroyed:(Landroid/app/Activity;)V at instruction 'INVOKE_SUPER v1, v2, Landroid/app/Application$ActivityLifecycleCallbacks;.onActivityPostDestroyed:(Landroid/app/Activity;)V' @ 0x7f81f2a7b560 for illegal invoke-super to interface method defined in class Landroid/app/Application$ActivityLifecycleCallbacks;(note that this can happen when external framework SDKs are not passed to D8 as a classpath dependency; in such cases D8 may silently generate illegal invoke-supers to interface methods) Code: [0x7f81ee241f90] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v1 [0x7f81ee241fd0] OPCODE: IOPCODE_LOAD_PARAM_OBJECT v2 [0x7f81f2a7b320] OPCODE: CONST_STRING "activity" [0x7f81f2a7b760] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v0 [0x7f81f2a7b380] OPCODE: INVOKE_STATIC v2, v0, Lkotlin/jvm/internal/Intrinsics;.checkParameterIsNotNull:(Ljava/lang/Object;Ljava/lang/String;)V [0x7f81f2a7b860] POSITION: Lcom/kwai/performance/fluency/startup/monitor/tracker/ActivityTrackLifecycleCallbacksAndroidQ;.onActivityPostDestroyed:(Landroid/app/Activity;)V(SourceFile:198) [0x7f81f2a7b560] OPCODE: INVOKE_SUPER v1, v2, Landroid/app/Application$ActivityLifecycleCallbacks;.onActivityPostDestroyed:(Landroid/app/Activity;)V [0x7f81f2a7b880] POSITION: Lcom/kwai/performance/fluency/startup/monitor/tracker/ActivityTrackLifecycleCallbacksAndroidQ;.onActivityPostDestroyed:(Landroid/app/Activity;)V(SourceFile:199) [0x7f81f2a7b5c0] OPCODE: IGET_OBJECT v1, Lcom/kwai/performance/fluency/startup/monitor/tracker/ActivityTrackLifecycleCallbacksAndroidQ;.mTracker:Lcom/kwai/performance/fluency/startup/monitor/tracker/FrameworkTracker; [0x7f81f2a7b800] OPCODE: IOPCODE_MOVE_RESULT_PSEUDO_OBJECT v0 [0x7f81f2a7b620] OPCODE: INVOKE_VIRTUAL v0, v2, Lcom/kwai/performance/fluency/startup/monitor/tracker/FrameworkTracker;.onActivityPostDestroyed$com_kwai_performance_fluency_startup_monitor:(Landroid/app/Activity;)V [0x7f81f2a7b680] OPCODE: RETURN_VOID

    (5 more issues!) If you are confident that this does not matter (e.g., because you are using MakePublicPass), turn off accessibility checking on input with -J ir_type_checker.run_on_input_ignore_access=true. You may turn off all input checking with -J ir_type_checker.run_on_input=false. Traceback (most recent call last): File "/tmp/redex.xpwwAY/redex.py", line 1262, in with_temp_cleanup(lambda: run_redex(args), args.always_clean_up) File "/private/tmp/redex.xpwwAY/pyredex/utils.py", line 62, in with_temp_cleanup fn() File "/tmp/redex.xpwwAY/redex.py", line 1262, in with_temp_cleanup(lambda: run_redex(args), args.always_clean_up) File "/tmp/redex.xpwwAY/redex.py", line 1241, in run_redex run_redex_binary(state, exception_formatter, output_line_handler) File "/tmp/redex.xpwwAY/redex.py", line 374, in run_redex_binary run() File "/tmp/redex.xpwwAY/redex.py", line 367, in run raise RuntimeError(msg) RuntimeError: redex-all crashed with exit code 1! You can re-run it under gdb by running /tmp/redex.xpwwAY/redex-gdb-5lzsrrdq.sh or under lldb by running /tmp/redex.xpwwAY/redex-lldb-xyukv4ql.sh

    Can somebody help me? , thanks a lot .

    Reply
  • Experiment with CircleCI Windows
    Experiment with CircleCI Windows

    Aug 5, 2020

    Differential Revision: D22960996

    CLA Signed Merged fb-exported 
    Reply
  • Error writing mapping file: No such file or directory
    Error writing mapping file: No such file or directory

    Oct 25, 2016

    Hi there,

    I used the tool according to the guide, everything went fine with the installing process. but when I use redex command to compress the apk, I encountered this error: " Error writing mapping file: No such file or directory." here are my system info and error screenshot.

    macosinfo error2

    Can anybody help?

    Thanks a lot!

    Reply
  • Support Windows build of ReDex
    Support Windows build of ReDex

    Apr 13, 2016

    Make sure we can reliably build and support ReDex for Windows 10. One approach might be to use the new native support for bash as suggested by @jp1017 in #17

    enhancement 
    Reply
  • Compilation error on Ubuntu 14.04 x64 LTS with gcc 4.9.4, libboost 1.65.1 set with BOOST_ROOT and BOOST_LIBRARYDIR env variables
    Compilation error on Ubuntu 14.04 x64 LTS with gcc 4.9.4, libboost 1.65.1 set with BOOST_ROOT and BOOST_LIBRARYDIR env variables

    Nov 18, 2017

    ./configure works fine, but make breaks at the start...

    Compilation breaks with the following line: -

    g++: error: unrecognized command line option '--std=gnu++14'

    The steps to build are the same as mentioned in the description, but I am trying to build using Address Sanitizer(asan) via the CFLAGS, CXXFLAGS and LDFLAGS.

    The compilation breaks with or without any flags. Normal autoreconf -ivf && ./configure && make also breaks.

    Error Output with CFLAGS CXXFLAGS and LDFLAGS:-

    Making all in . make[1]: Entering directory /home/FbUser/Downloads/redex' depbase=echo liblocator/locator.lo | sed 's|[^/]*$|.deps/&|;s|.lo$||';\ /bin/bash ./libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"redex\" -DPACKAGE_TARNAME=\"redex\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"redex\ 1.0\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"redex\" -DVERSION=\"1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"redex\" -DVERSION=\"1.0\" -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -DHAVE_BOOST_REGEX=/\*\*/ -DHAVE_BOOST_PROGRAM_OPTIONS=/\*\*/ -DHAVE_BOOST_IOSTREAMS=/\*\*/ -DHAVE_LIBZ=1 -DHAVE_LIBJSONCPP=1 -DHAVE_ARPA_INET_H=1 -DHAVE_FCNTL_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_MUNMAP=1 -DHAVE_REGCOMP=1 -DHAVE_STRCHR=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRRCHR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -I. -I./liblocator -I./libredex -I./libresource -I./libresource/android -I./libresource/androidfw -I./libresource/cutils -I./libresource/system -I./libresource/utils -I./opt -I./opt/access-marking -I./opt/add_redex_txt_to_apk -I./opt/analysis_ref_graph -I./opt/annoclasskill -I./opt/annokill -I./opt/bridge -I./opt/check_breadcrumbs -I./opt/constant_propagation -I./opt/dedup_blocks -I./opt/delinit -I./opt/delsuper -I./opt/final_inline -I./opt/hotness-score -I./opt/inlineinit -I./opt/interdex -I./opt/local-dce -I./opt/obfuscate -I./opt/original_name -I./opt/outliner -I./opt/peephole -I./opt/print-members -I./opt/rebindrefs -I./opt/redundant_move_elimination -I./opt/regalloc -I./opt/remove-builders -I./opt/remove-unreachable -I./opt/remove_empty_classes -I./opt/remove_gotos -I./opt/renameclasses -I./opt/reorder-interfaces -I./opt/shorten-srcstrings -I./opt/simpleinline -I./opt/singleimpl -I./opt/static-sink -I./opt/staticrelo -I./opt/string_simplification -I./opt/strip-debug-info -I./opt/synth -I./opt/test_cfg -I./opt/track_resources -I./opt/unreferenced_interfaces -I./opt/unterface -I./opt/verifier -I./opt/virtual_scope -I./tools/common -I./tools/redexdump -I./util -I/usr/include/jsoncpp --std=gnu++14 -O3 -Wall -g -fsanitize=address -MT liblocator/locator.lo -MD -MP -MF $depbase.Tpo -c -o liblocator/locator.lo liblocator/locator.cpp &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: g++ -DPACKAGE_NAME=\"redex\" -DPACKAGE_TARNAME=\"redex\" -DPACKAGE_VERSION=\"1.0\" "-DPACKAGE_STRING=\"redex 1.0\"" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"redex\" -DVERSION=\"1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DPACKAGE=\"redex\" -DVERSION=\"1.0\" -DHAVE_PTHREAD_PRIO_INHERIT=1 -DHAVE_PTHREAD=1 "-DHAVE_BOOST=/**/" "-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_SYSTEM=/**/" "-DHAVE_BOOST_REGEX=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/" "-DHAVE_BOOST_IOSTREAMS=/**/" -DHAVE_LIBZ=1 -DHAVE_LIBJSONCPP=1 -DHAVE_ARPA_INET_H=1 -DHAVE_FCNTL_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DHAVE_CLOCK_GETTIME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MEMMOVE=1 -DHAVE_MEMSET=1 -DHAVE_MUNMAP=1 -DHAVE_REGCOMP=1 -DHAVE_STRCHR=1 -DHAVE_STRDUP=1 -DHAVE_STRERROR=1 -DHAVE_STRRCHR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -I. -I./liblocator -I./libredex -I./libresource -I./libresource/android -I./libresource/androidfw -I./libresource/cutils -I./libresource/system -I./libresource/utils -I./opt -I./opt/access-marking -I./opt/add_redex_txt_to_apk -I./opt/analysis_ref_graph -I./opt/annoclasskill -I./opt/annokill -I./opt/bridge -I./opt/check_breadcrumbs -I./opt/constant_propagation -I./opt/dedup_blocks -I./opt/delinit -I./opt/delsuper -I./opt/final_inline -I./opt/hotness-score -I./opt/inlineinit -I./opt/interdex -I./opt/local-dce -I./opt/obfuscate -I./opt/original_name -I./opt/outliner -I./opt/peephole -I./opt/print-members -I./opt/rebindrefs -I./opt/redundant_move_elimination -I./opt/regalloc -I./opt/remove-builders -I./opt/remove-unreachable -I./opt/remove_empty_classes -I./opt/remove_gotos -I./opt/renameclasses -I./opt/reorder-interfaces -I./opt/shorten-srcstrings -I./opt/simpleinline -I./opt/singleimpl -I./opt/static-sink -I./opt/staticrelo -I./opt/string_simplification -I./opt/strip-debug-info -I./opt/synth -I./opt/test_cfg -I./opt/track_resources -I./opt/unreferenced_interfaces -I./opt/unterface -I./opt/verifier -I./opt/virtual_scope -I./tools/common -I./tools/redexdump -I./util -I/usr/include/jsoncpp --std=gnu++14 -O3 -Wall -g -fsanitize=address -MT liblocator/locator.lo -MD -MP -MF liblocator/.deps/locator.Tpo -c liblocator/locator.cpp -fPIC -DPIC -o liblocator/.libs/locator.o g++: error: unrecognized command line option '--std=gnu++14' make[1]: *** [liblocator/locator.lo] Error 1 make[1]: Leaving directory/home/FbUser/Downloads/redex' make: *** [all-recursive] Error 1

    Reply
  • double-conversion has installed, but configure error
    double-conversion has installed, but configure error

    Apr 13, 2016

    ➜ redex git:(master) ✗ brew install double-conversion Warning: double-conversion-1.1.5 already installed // execute autoreconf -ivf && ./configure && make && make install ...msg... configure: error: Please install double-conversion

    Reply
  • assertion `scope.methods.size() == 1' failed with proguard config
    assertion `scope.methods.size() == 1' failed with proguard config

    Dec 12, 2016

    Log as below. I tried to to --debug, but didn't get much info. Please kindly advise how to proceed.

    [email protected] $ redex dummy.apk -o output.apk
    libredex/DexClass.h:784: void DexMethod::attach_annotation_set(DexAnnotationSet*): assertion `false' failed.
    attach_annotation_set failed for method Lcom/twitter/util/di/qualifier/SchedulerType;.<init>
    
    /usr/local/bin/redex-all[0x4b91e8]
    /lib/x86_64-linux-gnu/libc.so.6(+0x36cb0)[0x7f0d458dacb0]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7f0d458dac37]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7f0d458de028]
    /usr/local/bin/redex-all[0x4b91c7]
    /usr/local/bin/redex-all[0x4c6274]
    /usr/local/bin/redex-all[0x4c64bc]
    /usr/local/bin/redex-all[0x4ca406]
    /usr/local/bin/redex-all[0x549780]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x8184)[0x7f0d468ca184]
    /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f0d4599e37d]
    Traceback (most recent call last):
      File "/usr/local/bin/redex", line 506, in <module>
        run_redex(args)
      File "/usr/local/bin/redex", line 448, in run_redex
        dexen)
      File "/usr/local/bin/redex", line 117, in run_pass
        raise err
    subprocess.CalledProcessError: Command '/usr/local/bin/redex-all --apkdir /tmp/tmpKEZFBr.redex_extracted_apk --outdir /tmp/tmpgEnVZ4.redex_dexen /tmp/tmpgEnVZ4.redex_dexen/dex0/classes.dex /tmp/tmpgEnVZ4.redex_dexen/dex1/classes2.dex /tmp/tmpgEnVZ4.redex_dexen/dex2/classes3.dex /tmp/tmpgEnVZ4.redex_dexen/dex3/classes4.dex /tmp/tmpgEnVZ4.redex_dexen/dex4/classes5.dex /tmp/tmpgEnVZ4.redex_dexen/dex5/classes6.dex /tmp/tmpgEnVZ4.redex_dexen/dex6/classes7.dex /tmp/tmpgEnVZ4.redex_dexen/dex7/classes8.dex /tmp/tmpgEnVZ4.redex_dexen/dex8/classes9.dex /tmp/tmpgEnVZ4.redex_dexen/dex9/classes10.dex /tmp/tmpgEnVZ4.redex_dexen/dex10/classes11.dex /tmp/tmpgEnVZ4.redex_dexen/dex11/classes12.dex /tmp/tmpgEnVZ4.redex_dexen/dex12/classes13.dex /tmp/tmpgEnVZ4.redex_dexen/dex13/classes14.dex /tmp/tmpgEnVZ4.redex_dexen/dex14/classes15.dex /tmp/tmpgEnVZ4.redex_dexen/dex15/classes16.dex /tmp/tmpgEnVZ4.redex_dexen/dex16/classes17.dex /tmp/tmpgEnVZ4.redex_dexen/dex17/classes18.dex /tmp/tmpgEnVZ4.redex_dexen/dex18/classes19.dex /tmp/tmpgEnVZ4.redex_dexen/dex19/classes20.dex /tmp/tmpgEnVZ4.redex_dexen/dex20/classes21.dex /tmp/tmpgEnVZ4.redex_dexen/dex21/classes22.dex /tmp/tmpgEnVZ4.redex_dexen/dex22/classes23.dex /tmp/tmpgEnVZ4.redex_dexen/dex23/classes24.dex /tmp/tmpgEnVZ4.redex_dexen/dex24/classes25.dex /tmp/tmpgEnVZ4.redex_dexen/dex25/classes26.dex /tmp/tmpgEnVZ4.redex_dexen/dex26/classes27.dex /tmp/tmpgEnVZ4.redex_dexen/dex27/classes28.dex /tmp/tmpgEnVZ4.redex_dexen/dex28/classes29.dex /tmp/tmpgEnVZ4.redex_dexen/dex29/classes30.dex /tmp/tmpgEnVZ4.redex_dexen/dex30/classes31.dex /tmp/tmpgEnVZ4.redex_dexen/dex31/classes32.dex /tmp/tmpgEnVZ4.redex_dexen/dex32/classes33.dex /tmp/tmpgEnVZ4.redex_dexen/dex33/classes34.dex /tmp/tmpgEnVZ4.redex_dexen/dex34/classes35.dex /tmp/tmpgEnVZ4.redex_dexen/dex35/classes36.dex /tmp/tmpgEnVZ4.redex_dexen/dex36/classes37.dex /tmp/tmpgEnVZ4.redex_dexen/dex37/classes38.dex /tmp/tmpgEnVZ4.redex_dexen/dex38/classes39.dex /tmp/tmpgEnVZ4.redex_dexen/dex39/classes40.dex /tmp/tmpgEnVZ4.redex_dexen/dex40/classes41.dex /tmp/tmpgEnVZ4.redex_dexen/dex41/classes42.dex /tmp/tmpgEnVZ4.redex_dexen/dex42/classes43.dex /tmp/tmpgEnVZ4.redex_dexen/dex43/classes44.dex /tmp/tmpgEnVZ4.redex_dexen/dex44/classes45.dex /tmp/tmpgEnVZ4.redex_dexen/dex45/classes46.dex /tmp/tmpgEnVZ4.redex_dexen/dex46/classes47.dex /tmp/tmpgEnVZ4.redex_dexen/dex47/classes48.dex /tmp/tmpgEnVZ4.redex_dexen/dex48/classes49.dex /tmp/tmpgEnVZ4.redex_dexen/dex49/classes50.dex /tmp/tmpgEnVZ4.redex_dexen/dex50/classes51.dex /tmp/tmpgEnVZ4.redex_dexen/dex51/classes52.dex /tmp/tmpgEnVZ4.redex_dexen/dex52/classes53.dex /tmp/tmpgEnVZ4.redex_dexen/dex53/classes54.dex /tmp/tmpgEnVZ4.redex_dexen/dex54/classes55.dex /tmp/tmpgEnVZ4.redex_dexen/dex55/classes56.dex /tmp/tmpgEnVZ4.redex_dexen/dex56/classes57.dex /tmp/tmpgEnVZ4.redex_dexen/dex57/classes58.dex /tmp/tmpgEnVZ4.redex_dexen/dex58/classes59.dex /tmp/tmpgEnVZ4.redex_dexen/dex59/classes60.dex /tmp/tmpgEnVZ4.redex_dexen/dex60/classes61.dex /tmp/tmpgEnVZ4.redex_dexen/dex61/classes62.dex /tmp/tmpgEnVZ4.redex_dexen/dex62/classes63.dex /tmp/tmpgEnVZ4.redex_dexen/dex63/classes64.dex /tmp/tmpgEnVZ4.redex_dexen/dex64/classes65.dex /tmp/tmpgEnVZ4.redex_dexen/dex65/classes66.dex /tmp/tmpgEnVZ4.redex_dexen/dex66/classes67.dex /tmp/tmpgEnVZ4.redex_dexen/dex67/classes68.dex /tmp/tmpgEnVZ4.redex_dexen/dex68/classes69.dex /tmp/tmpgEnVZ4.redex_dexen/dex69/classes70.dex /tmp/tmpgEnVZ4.redex_dexen/dex70/classes71.dex /tmp/tmpgEnVZ4.redex_dexen/dex71/classes72.dex /tmp/tmpgEnVZ4.redex_dexen/dex72/classes73.dex /tmp/tmpgEnVZ4.redex_dexen/dex73/classes74.dex /tmp/tmpgEnVZ4.redex_dexen/dex74/classes75.dex /tmp/tmpgEnVZ4.redex_dexen/dex75/classes76.dex /tmp/tmpgEnVZ4.redex_dexen/dex76/classes77.dex /tmp/tmpgEnVZ4.redex_dexen/dex77/classes78.dex /tmp/tmpgEnVZ4.redex_dexen/dex78/classes79.dex /tmp/tmpgEnVZ4.redex_dexen/dex79/classes80.dex /tmp/tmpgEnVZ4.redex_dexen/dex80/classes81.dex /tmp/tmpgEnVZ4.redex_dexen/dex81/classes82.dex /tmp/tmpgEnVZ4.redex_dexen/dex82/classes83.dex /tmp/tmpgEnVZ4.redex_dexen/dex83/classes84.dex /tmp/tmpgEnVZ4.redex_dexen/dex84/classes85.dex /tmp/tmpgEnVZ4.redex_dexen/dex85/classes86.dex /tmp/tmpgEnVZ4.redex_dexen/dex86/classes87.dex /tmp/tmpgEnVZ4.redex_dexen/dex87/classes88.dex /tmp/tmpgEnVZ4.redex_dexen/dex88/classes89.dex /tmp/tmpgEnVZ4.redex_dexen/dex89/classes90.dex /tmp/tmpgEnVZ4.redex_dexen/dex90/classes91.dex /tmp/tmpgEnVZ4.redex_dexen/dex91/classes92.dex /tmp/tmpgEnVZ4.redex_dexen/dex92/classes93.dex /tmp/tmpgEnVZ4.redex_dexen/dex93/classes94.dex /tmp/tmpgEnVZ4.redex_dexen/dex94/classes95.dex /tmp/tmpgEnVZ4.redex_dexen/dex95/classes96.dex /tmp/tmpgEnVZ4.redex_dexen/dex96/classes97.dex /tmp/tmpgEnVZ4.redex_dexen/dex97/classes98.dex /tmp/tmpgEnVZ4.redex_dexen/dex98/classes99.dex /tmp/tmpgEnVZ4.redex_dexen/dex99/classes100.dex /tmp/tmpgEnVZ4.redex_dexen/dex100/classes101.dex /tmp/tmpgEnVZ4.redex_dexen/dex101/classes102.dex /tmp/tmpgEnVZ4.redex_dexen/dex102/classes103.dex /tmp/tmpgEnVZ4.redex_dexen/dex103/classes104.dex /tmp/tmpgEnVZ4.redex_dexen/dex104/classes105.dex /tmp/tmpgEnVZ4.redex_dexen/dex105/classes106.dex /tmp/tmpgEnVZ4.redex_dexen/dex106/classes107.dex /tmp/tmpgEnVZ4.redex_dexen/dex107/classes108.dex /tmp/tmpgEnVZ4.redex_dexen/dex108/classes109.dex /tmp/tmpgEnVZ4.redex_dexen/dex109/classes110.dex /tmp/tmpgEnVZ4.redex_dexen/dex110/classes111.dex /tmp/tmpgEnVZ4.redex_dexen/dex111/classes112.dex /tmp/tmpgEnVZ4.redex_dexen/dex112/classes113.dex /tmp/tmpgEnVZ4.redex_dexen/dex113/classes114.dex /tmp/tmpgEnVZ4.redex_dexen/dex114/classes115.dex /tmp/tmpgEnVZ4.redex_dexen/dex115/classes116.dex /tmp/tmpgEnVZ4.redex_dexen/dex116/classes117.dex /tmp/tmpgEnVZ4.redex_dexen/dex117/classes118.dex /tmp/tmpgEnVZ4.redex_dexen/dex118/classes119.dex /tmp/tmpgEnVZ4.redex_dexen/dex119/classes120.dex /tmp/tmpgEnVZ4.redex_dexen/dex120/classes121.dex /tmp/tmpgEnVZ4.redex_dexen/dex121/classes122.dex /tmp/tmpgEnVZ4.redex_dexen/dex122/classes123.dex /tmp/tmpgEnVZ4.redex_dexen/dex123/classes124.dex /tmp/tmpgEnVZ4.redex_dexen/dex124/classes125.dex /tmp/tmpgEnVZ4.redex_dexen/dex125/classes126.dex /tmp/tmpgEnVZ4.redex_dexen/dex126/classes127.dex /tmp/tmpgEnVZ4.redex_dexen/dex127/classes128.dex /tmp/tmpgEnVZ4.redex_dexen/dex128/classes129.dex /tmp/tmpgEnVZ4.redex_dexen/dex129/classes130.dex /tmp/tmpgEnVZ4.redex_dexen/dex130/classes131.dex /tmp/tmpgEnVZ4.redex_dexen/dex131/classes132.dex /tmp/tmpgEnVZ4.redex_dexen/dex132/classes133.dex /tmp/tmpgEnVZ4.redex_dexen/dex133/classes134.dex /tmp/tmpgEnVZ4.redex_dexen/dex134/classes135.dex /tmp/tmpgEnVZ4.redex_dexen/dex135/classes136.dex /tmp/tmpgEnVZ4.redex_dexen/dex136/classes137.dex /tmp/tmpgEnVZ4.redex_dexen/dex137/classes138.dex /tmp/tmpgEnVZ4.redex_dexen/dex138/classes139.dex /tmp/tmpgEnVZ4.redex_dexen/dex139/classes140.dex /tmp/tmpgEnVZ4.redex_dexen/dex140/classes141.dex /tmp/tmpgEnVZ4.redex_dexen/dex141/classes142.dex /tmp/tmpgEnVZ4.redex_dexen/dex142/classes143.dex /tmp/tmpgEnVZ4.redex_dexen/dex143/classes144.dex /tmp/tmpgEnVZ4.redex_dexen/dex144/classes145.dex /tmp/tmpgEnVZ4.redex_dexen/dex145/classes146.dex /tmp/tmpgEnVZ4.redex_dexen/dex146/classes147.dex /tmp/tmpgEnVZ4.redex_dexen/dex147/classes148.dex /tmp/tmpgEnVZ4.redex_dexen/dex148/classes149.dex /tmp/tmpgEnVZ4.redex_dexen/dex149/classes150.dex /tmp/tmpgEnVZ4.redex_dexen/dex150/classes151.dex /tmp/tmpgEnVZ4.redex_dexen/dex151/classes152.dex /tmp/tmpgEnVZ4.redex_dexen/dex152/classes153.dex' returned non-zero exit status -6
    
    bug 
    Reply