Giter Site home page Giter Site logo

rocoofix's People

Contributors

dodola avatar dustookk avatar ethanyou avatar shoyu666 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rocoofix's Issues

能生成patch.jar 但是内部没有任何修改内容的标记

我的项目现在能生成 patch.jar 文件了!但是呢,patch.jar 里面的文件都没有内容;我现在是修改 类 HelloHack.java 文件的内容,然后就生成不了 patch.jar了!这..........我都搞了一个星期了,请问作者你能测通吗!帮忙解决一下,谢谢

android 6.0可以吗?

之前测试了nuwa 再android6.0上没有效果,因为application一启动就把所有的类都加载了。所以后面的补丁也不起作用。

productFlavors

gradle中加入productFlavors 无法生成patch.jar
@dodola 请问这个问题什么时间修复?

6.x版本的release不可用

静态模式,

加载patch包成功,但没有效果

 buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

将debug下的debuggable设置成false,结果是一样的。
classloader思路的热更新思路都有类似问题,不知道有没人解决过

android 6.0动态修复 枚举出错

version1 代码:

public class DemoActivity7 extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_7);


    }

    public void load(View view) {
        RocooFix.initPathFromAssetsRuntime(this, "patch.jar");
    }

    public void start(View view) {
        startActivity(new Intent(this, DemoActivity8.class));
    }
}
public class DemoActivity8 extends Activity {

    private TextView textView;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_8);
        textView = (TextView) findViewById(R.id.text);
        textView.setText("456");

    }
}

version2 代码:

Demo7 不变

Demo8:

public class DemoActivity8 extends Activity {

    private TextView textView;
    //
    private TestInterface impl;
    int count = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_8);
        textView = (TextView) findViewById(R.id.text);
        textView.setText("456");

        impl = new TestInterfaceImpl();

        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (count % 3 == 0) {
                    impl.test(Test.ONLINE);
                } else if (count % 3 == 1) {
                    impl.test(Test.TEST);
                } else {
                    impl.test(Test.PRE);
                }
                count++;
            }
        });
    }


    public static class TestInterfaceImpl implements TestInterface {
        @Override
        public void test(Test test) {


            switch (test) {
                case ONLINE:
                    System.out.println("test = [" + test + "online" + "]");
                    break;
                case TEST:
                    System.out.println("test = [" + test + "TEST" + "]");
                    break;
                case PRE:
                    System.out.println("test = [" + test + "PRE" + "]");
                    break;
            }
        }
    }
}

新增枚举 Test 接口TestInterface

public enum Test {

    ONLINE, TEST, PRE;

}
public interface TestInterface {
    void test(Test test);
}

version 3:

public enum Test {

    ONLINE, TEST, PRE , NEW_ADD;

}

新增了NEW_ADD , Demo8里面也新增了对NEW_ADD的处理。

把version2 与version1 差异生成的patch.jar 重命名为dex.jar。 把这个当成动态加载的一个模块

 @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        RocooFix.init(this);
        RocooFix.initPathFromAssets(this,"dex.jar");
    }

version3 与 version2 差异生成的patch.jar来当成动态修复的jar

Application中执行动态加载dex.jar,其中dex.jar包含一个枚举类 Test

Demo7中点击进行动态修复,在Test中新增一个NEW_ADD。
然后进入Demo8,点击TextView。就会出错.

报错信息如下

06-08 11:10:40.462 13187-13187/cn.eclicks.chelun D/#######: Malloc memory, size : 40
06-08 11:10:40.463 13187-13187/cn.eclicks.chelun D/#######: Read Memory to 0xffffffffae2b3890
06-08 11:10:40.463 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae289000
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae28900c
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38b4
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38ac
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3890
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3894
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3898
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38a0
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38a4
06-08 11:10:40.465 13187-13187/cn.eclicks.chelun D/#######: Malloc memory, size : 144
06-08 11:10:40.466 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae288000
06-08 11:10:40.466 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38b0
06-08 11:10:40.469 13187-13187/cn.eclicks.chelun D/#######: Malloc memory, size : 40
06-08 11:10:40.469 13187-13187/cn.eclicks.chelun D/#######: Read Memory to 0xffffffffae2b38b8
06-08 11:10:40.469 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae080000
06-08 11:10:40.471 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae08000c
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38dc
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38d4
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38b8
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38bc
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38c0
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38c8
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38cc
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Malloc memory, size : 144
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae07f000
06-08 11:10:40.472 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b38d8

                                                            [ 06-08 11:10:40.474  4221: 4748 D/         ]
                                                            file:device/hisi/common/liblights/lights.c, func:set_light_backlight, brightness=16
06-08 11:10:40.476 13187-13187/cn.eclicks.chelun D/#######: Malloc memory, size : 40
06-08 11:10:40.477 13187-13187/cn.eclicks.chelun D/#######: Read Memory to 0xffffffffae2b3930
06-08 11:10:40.477 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffadcab000
06-08 11:10:40.478 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffadcab00c
06-08 11:10:40.478 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3954
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b394c
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3930
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3934
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3938
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3940
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3944
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Malloc memory, size : 144
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffacd96000
06-08 11:10:40.479 13187-13187/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffae2b3950

06-08 11:10:54.844 13187-13187/cn.eclicks.chelun D/AndroidRuntime: Shutting down VM
06-08 11:10:54.846 13187-13187/cn.eclicks.chelun E/AndroidRuntime: FATAL EXCEPTION: main
                                                                   Process: cn.eclicks.chelun, PID: 13187
                                                                   java.lang.ExceptionInInitializerError
                                                                       at cn.eclicks.chelun.enums.Test.values(Test.java:9)
                                                                       at cn.eclicks.chelun.DemoActivity8$2.<clinit>(DemoActivity8.java:55)
                                                                       at cn.eclicks.chelun.DemoActivity8$TestInterfaceImpl.test(DemoActivity8.java:55)
                                                                       at cn.eclicks.chelun.DemoActivity8$1.onClick(DemoActivity8.java:38)
                                                                       at android.view.View.performClick(View.java:5264)
                                                                       at android.view.View$PerformClick.run(View.java:21297)
                                                                       at android.os.Handler.handleCallback(Handler.java:743)
                                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                       at android.os.Looper.loop(Looper.java:150)
                                                                       at android.app.ActivityThread.main(ActivityThread.java:5546)
                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
                                                                    Caused by: java.lang.ArrayStoreException: cn.eclicks.chelun.enums.Test cannot be stored in an array of type cn.eclicks.chelun.enums.Test[]
                                                                       at cn.eclicks.chelun.enums.Test.<clinit>(Test.java:9)
                                                                       at cn.eclicks.chelun.enums.Test.values(Test.java:9) 
                                                                       at cn.eclicks.chelun.DemoActivity8$2.<clinit>(DemoActivity8.java:55) 
                                                                       at cn.eclicks.chelun.DemoActivity8$TestInterfaceImpl.test(DemoActivity8.java:55) 
                                                                       at cn.eclicks.chelun.DemoActivity8$1.onClick(DemoActivity8.java:38) 
                                                                       at android.view.View.performClick(View.java:5264) 
                                                                       at android.view.View$PerformClick.run(View.java:21297) 
                                                                       at android.os.Handler.handleCallback(Handler.java:743) 
                                                                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                       at android.os.Looper.loop(Looper.java:150) 
                                                                       at android.app.ActivityThread.main(ActivityThread.java:5546) 
                                                                       at java.lang.reflect.Method.invoke(Native Method) 
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) 
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684) 

把静态修复看成是 模块化的动态加载dex。 动态修复是修复模块dex的错误。
这样是不是可以理解为 若果模块dex里面有枚举 ,动态修复进行替换的时候 就会报错。

问题描述

您好,pull了您的最新代码,但是通过gradle build命令无法生成patch补丁。

具体操作说明

哥啥时候把说明补上啊,等着急用,这些天都在看这个,都没搞成,

运行Demo没有效果

一运行,就报06-01 18:08:31.770 16731-16731/com.dodola.rocoosample E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.dodola.rocoosample.a.

关于打上CLASS_ISPREVERIFIED标志。

你好,经过测试已经完成修复,就是有一点,关于打上CLASS_ISPREVERIFIED标志这种事,看了原理,需要向每个类中注入一段应用其它dex文件中类的代码。可是测试后反编译并没有看到有注入代码。我想问问这是什么原因呢?还有就是您的源码中buidsrc模块应该就是做这个事的,但是似乎集成的时候并没有用到。反编译也没有看到效果

关于防止打上CLASS_ISPREVERIFIED标志。

作者你好,为了防止打上标记,代码中要注入一段 System.out.println(Hack.class);可是按文档步骤来操作可以修复,反编译后没有这段代码,但是把源代码中的buildsrc模块导入就能注入这段代码,请问一下,这个buildsrc模块集成的时候
需要导入吗。

动态修复崩溃

三星Note3 系统5.0
以下是执行runtimefix 时输出的log

06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f09734
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f09738
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f0973c
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f09724
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f071ac
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f071a4
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f07188
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f0718c
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f07190
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f07198
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f0719c
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Malloc memory, size : 144
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0xffffffffb427f000
06-02 16:48:25.269 30682-30682/cn.eclicks.chelun D/#######: Write Memory to 0x77f071a8
06-02 16:48:27.309 30682-30682/cn.eclicks.chelun A/libc: Fatal signal 4 (SIGILL), code 1, fault addr 0xb427f038 in tid 30682 (.eclicks.chelun)
06-02 16:48:27.419 295-295/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-02 16:48:27.419 295-295/? I/DEBUG: Build fingerprint: 'samsung/h3gduoszn/hlte:5.0/LRX21V/N9002ZNUGPA1:user/release-keys'
06-02 16:48:27.419 295-295/? I/DEBUG: Revision: '8'
06-02 16:48:27.419 295-295/? I/DEBUG: ABI: 'arm'
06-02 16:48:27.419 295-295/? I/DEBUG: pid: 30682, tid: 30682, name: .eclicks.chelun  >>> cn.eclicks.chelun <<<
06-02 16:48:27.419 295-295/? I/DEBUG: signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xb427f038
06-02 16:48:27.419 318-566/? D/Sensorhubs: readContextData: 1, 1, 7, -1
06-02 16:48:27.419 965-1118/? D/SensorHubManager: onGetSensorHubDataLocked: library(4) = 1, 1, 7, -1
06-02 16:48:27.419 965-965/? D/CAE: onGetSensorHubData(SensorHubParserProvider.java:87) - onGetSensorHubData Event [event buffer len :4], AP_WAKEUP
06-02 16:48:27.419 965-965/? I/CAE: parse(SensorHubParserProvider.java:166) - buffer size = 4
06-02 16:48:27.419 295-295/? I/DEBUG:     r0 77f07180  r1 12d24440  r2 00000000  r3 00000000
06-02 16:48:27.419 295-295/? I/DEBUG:     r4 000002b0  r5 70983f80  r6 12d24440  r7 12c33100
06-02 16:48:27.419 295-295/? I/DEBUG:     r8 12c922c0  r9 b4e07800  sl 00000000  fp 12d24440
06-02 16:48:27.419 295-295/? I/DEBUG:     ip afdba850  sp be81ed30  lr 75c32b99  pc b427f038  cpsr 000b0010
06-02 16:48:27.429 295-295/? I/DEBUG: backtrace:
06-02 16:48:27.429 295-295/? I/DEBUG:     #00 pc 00000038  <unknown>
06-02 16:48:27.429 295-295/? I/DEBUG:     #01 pc 01017b97  /system/framework/arm/boot.oat
06-02 16:48:27.429 965-965/? I/CAE: parse(SensorHubParserProvider.java:177) - 1, 1, 7, -1,
06-02 16:48:27.429 965-965/? D/CAE: display(ContextProvider.java:365) - ================= AUTO_ROTATION =================
06-02 16:48:27.429 965-965/? I/CAE: display(ContextProvider.java:381) - Angle=[-1]
06-02 16:48:27.429 965-965/? D/SContextService: updateSContext() : event = Auto Rotation
06-02 16:48:27.869 965-1485/? W/ActivityManager: getTasks: caller 10354 does not hold GET_TASKS; limiting output
06-02 16:48:27.879 965-30832/? W/ActivityManager:   Force finishing activity cn.eclicks.chelun/.DemoActivity8
06-02 16:48:27.889 295-295/? I/DEBUG: Tombstone written to: /data/tombstones/tombstone_04


                                      [ 06-02 16:48:27.889   295:  295 E/         ]
                                      ro.product_ship = true

                                      [ 06-02 16:48:27.889   295:  295 E/         ]
                                      ro.debug_level = 0x4f4c
06-02 16:48:27.889 2132-2132/? E/audit: type=1701 msg=audit(1464857307.889:212): auid=4294967295 uid=10512 gid=10512 ses=4294967295 subj=u:r:untrusted_app:s0 pid=30682 comm=".eclicks.chelun" reason="memory violation" sig=4
06-02 16:48:27.889 965-1062/? I/BootReceiver: Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
06-02 16:48:27.909 965-30832/? W/ActivityManager:   Force finishing activity cn.eclicks.chelun/.DemoActivity7
06-02 16:48:27.909 965-30832/? D/FocusedStackFrame: Set to : 0
06-02 16:48:27.929 965-30837/? E/android.os.Debug: ro.product_ship = true
06-02 16:48:27.929 965-30837/? E/android.os.Debug: ro.debug_level = 0x4f4c
06-02 16:48:27.929 965-1325/? I/WindowState: WIN DEATH: Window{d1f97d3 u0 cn.eclicks.chelun/cn.eclicks.chelun.DemoActivity7}
06-02 16:48:27.939 965-1064/? D/StatusBarManagerService: manageDisableList userId=0 what=0x0 pkg=WindowManager.LayoutParams
06-02 16:48:27.949 965-1066/? D/PointerIcon: setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
06-02 16:48:27.949 965-1066/? D/PointerIcon: setMouseCustomIcon IconType is same.101
06-02 16:48:27.949 965-1066/? D/PointerIcon: setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
06-02 16:48:27.949 965-1066/? D/PointerIcon: setHoveringSpenCustomIcon IconType is same.1
06-02 16:48:27.949 965-1638/? I/ActivityManager: Process cn.eclicks.chelun (pid 30682)(adj 0) has died(91,867)
06-02 16:48:27.949 965-1638/? D/ActivityManager: isAutoRunBlockedApp:: cn.eclicks.chelun, Auto Run ON
06-02 16:48:27.949 1479-1479/? D/SurfaceWidgetView: destroyHardwareResources():204262286
06-02 16:48:27.959 1479-1479/? D/Launcher: onRestart, Launcher: 368249614
06-02 16:48:27.969 965-1526/? D/ActivityManager: startService callerProcessName:com.qihoo.appstore, calleePkgName: com.qihoo.appstore
06-02 16:48:27.969 1479-1479/? D/Launcher: onStart, Launcher: 368249614
06-02 16:48:27.969 1479-1479/? D/Launcher.HomeView: onStart
06-02 16:48:27.969 1479-1479/? D/Launcher: onResume, Launcher: 368249614
06-02 16:48:27.969 965-1526/? D/ActivityManager: caller:android.app.ApplicationThreadProxy@29867d04, r.packageName :com.qihoo.appstore
06-02 16:48:27.969 965-1581/? D/SettingsProvider: name = kids_home_mode
06-02 16:48:27.969 965-1581/? D/SettingsProvider: edmUri: content://com.sec.knox.provider/RestrictionPolicy3
06-02 16:48:27.969 965-1581/? D/SettingsProvider: projectionArgs: isSettingsChangesAllowed
06-02 16:48:27.969 965-1581/? D/SettingsProvider: selectionArgs: false
06-02 16:48:27.969 965-1581/? D/SettingsProvider: selectionArgs: 10051
06-02 16:48:27.969 965-1581/? D/SecContentProvider: uri = 17 selection = isSettingsChangesAllowed
06-02 16:48:27.969 965-1581/? D/SettingsProvider: ret = -1
06-02 16:48:27.969 1479-1479/? D/Launcher.HomeView: onResume
06-02 16:48:27.969 965-3679/? D/ConnectivityService: returning getNetworkInfo(networkType - 1) :[type: WIFI[] - WIFI, state: CONNECTED/CONNECTED, reason: (unspecified), extra: "chelun", roaming: false, failover: false, isAvailable: true, isConnectedToProvisioningNetwork: false]
06-02 16:48:27.979 260-260/? I/SurfaceFlinger: id=373 createSurf (49x49),1 flag=4, dhelun
06-02 16:48:27.979 330-330/? I/Zygote: Process 30682 exited due to signal (4)
06-02 16:48:27.989 965-1179/? I/OpenGLRenderer: Initialized EGL, version 1.4
06-02 16:48:27.999 1479-1479/? D/Launcher: Launcher::setSystemUiTransparency(): getSystemUiVisibility() after setting  = 40000000
06-02 16:48:27.999 965-1179/? I/OpenGLRenderer: HWUI protection enabled for context ,  &this =0xa0888f88 ,&mEglDisplay = 1 , &mEglConfig = 8 
06-02 16:48:27.999 1479-1479/? D/MenuAppsGridFragment: onResume
06-02 16:48:28.009 2058-9510/? D/SurfaceWidgetClient$ISurfaceWidgetStub: [237392/8] Surface widget visibility changed visibility = true on instance = 1
06-02 16:48:28.009 2058-2195/? D/SurfaceWidget.Renderer: [237392/8] SurfaceWidget drawing first frame
06-02 16:48:28.009 2058-2195/? D/cmaweather: [Cmaweather J]>>> WR:641 [0:0] onGLDraw : BG texture = 42
06-02 16:48:28.009 965-981/? D/ActivityManager: handle home activity for 0
06-02 16:48:28.009 965-981/? I/WallpaperManagerService: switchPersonaWallpaper is called for personaId-0
06-02 16:48:28.009 965-981/? D/KnoxTimeoutHandler: post home show event for user 0
06-02 16:48:28.009 965-981/? D/ActivityManager: post active user change for 0
06-02 16:48:28.009 965-981/? D/KnoxTimeoutHandler: postActiveUserChange for user 0
06-02 16:48:28.009 965-965/? D/WallpaperManagerService:  force update = false; persona id = 0; current user =0; current persona = 0
06-02 16:48:28.009 965-965/? D/KnoxTimeoutHandler: handleHomeShow for 0 and current 0
06-02 16:48:28.009 965-965/? D/KnoxTimeoutHandler: handleActiveUserChange for user 0
06-02 16:48:28.019 260-260/? I/SurfaceFlinger: id=374 createSurf (1080x1920),1 flag=4, Mauncher
06-02 16:48:28.039 13273-13273/? I/MultiWindowTrayService: mHomeResumeReceiver : onReceive
06-02 16:48:28.039 965-1059/? D/ActivityManager: isAutoRunBlockedApp:: com.samsung.android.sm, Auto Run ON
06-02 16:48:28.039 13273-13273/? I/Sally Service: removeWindow window
06-02 16:48:28.049 13941-13941/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:2064 android.content.ContextWrapper.startService:533 android.content.ContextWrapper.startService:533 com.samsung.android.sm.common.SmartManagerReceiver.b:199 com.samsung.android.sm.common.SmartManagerReceiver.onReceive:93 
06-02 16:48:28.049 965-1656/? D/ActivityManager: startService callerProcessName:com.samsung.android.sm, calleePkgName: com.samsung.android.sm
06-02 16:48:28.049 965-1582/? W/NetworkStats: getDevHistory: NetworkStatsHistory: bucketDuration=3600000
06-02 16:48:28.049 965-1582/? W/NetworkStats: getXtHistory: NetworkStatsHistory: bucketDuration=3600000
06-02 16:48:28.049 965-1582/? W/NetworkStats: getDev2History: NetworkStatsHistory: bucketDuration=3600000
06-02 16:48:28.049 965-1656/? D/ActivityManager: caller:android.app.ApplicationThreadProxy@242ad67a, r.packageName :com.samsung.android.sm
06-02 16:48:28.059 965-1638/? D/ActivityManager: isAutoRunBlockedApp:: com.samsung.android.sm, Auto Run ON
06-02 16:48:28.059 965-1223/? W/NetworkStats: getDevHistory: NetworkStatsHistory: bucketDuration=3600000
06-02 16:48:28.059 965-1223/? W/NetworkStats: getXtHistory: NetworkStatsHistory: bucketDuration=3600000
06-02 16:48:28.059 965-1223/? W/NetworkStats: getDev2History: NetworkStatsHistory: bucketDuration=3600000
06-02 16:48:28.069 1479-1479/? D/SurfaceWidgetView: getHardwareLayer being called directly
06-02 16:48:28.079 965-965/? D/CrashAnrDetector: Build: samsung/h3gduoszn/hlte:5.0/LRX21V/N9002ZNUGPA1:user/release-keys
                                                 Hardware: MSM8974
                                                 Revision: 8
                                                 Bootloader: N9002ZNUGPA1
                                                 Radio: unknown
                                                 Kernel: Linux version 3.4.0-6343372 (dpi@SWHD7412) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Tue Jan 5 21:48:31 KST 2016

                                                 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
                                                 Build fingerprint: 'samsung/h3gduoszn/hlte:5.0/LRX21V/N9002ZNUGPA1:user/release-keys'
                                                 Revision: '8'
                                                 ABI: 'arm'
                                                 pid: 30682, tid: 30682, name: .eclicks.chelun  >>> cn.eclicks.chelun <<<
                                                 signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0xb427f038
                                                     r0 77f07180  r1 12d24440  r2 00000000  r3 00000000
                                                     r4 000002b0  r5 70983f80  r6 12d24440  r7 12c33100
                                                     r8 12c922c0  r9 b4e07800  sl 00000000  fp 12d24440
                                                     ip afdba850  sp be81ed30  lr 75c32b99  pc b427f038  cpsr 000b0010
                                                     d0  0000000000000003  d1  00000011000000da
                                                     d2  0000000000000000  d3  0000000400000068
                                                     d4  4000140000000000  d5  0106014b01000008
                                                     d6  4000140000000000  d7  010304da01000008
                                                     d8  3e8000003f400000  d9  0000000000000000
                                                     d10 0000000000000000  d11 0000000000000000
                                                     d12 0000000000000000  d13 0000000000000000
                                                     d14 0000000000000000  d15 0000000000000000
                                                     d16 00650067fffafafa  d17 0000006700000072
                                                     d18 002e00640069006f  d19 002e007000700061
                                                     d20 0074006300410049  d21 0074006900760069
                                                     d22 006e0061004d0079  d23 0072006500670061
                                                     d24 0000000000000000  d25 0000000000000000
                                                     d26 3ff0000000000000  d27 0000000000000000
                                                     d28 3ff0000000000000  d29 0000000000000000
                                                     d30 0000000000000000  d31 0000000000000000
                                                     scr 80000013

                                                 backtrace:
                                                     #00 pc 00000038  <unknown>
                                                     #01 pc 01017b97  /system/framework/arm/boot.oat

                                                 stack:
                                                          be81ecb0  722ff848  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ecb4  70982f78  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ecb8  00000006  
                                                          be81ecbc  12dd3600  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ecc0  12d24440  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ecc4  12d78190  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ecc8  12dd3740  /dev/ashmem/dalvik-main space (deleted)
                                                          be81eccc  75c307d1  /system/framework/arm/boot.oat
                                                          be81ecd0  70982f78  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ecd4  12d24440  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ecd8  ffffffff  
                                                          be81ecdc  00000000  
                                                          be81ece0  ff00a5c4  
                                                          be81ece4  00000000  
                                                          be81ece8  ff00a5c4  
                                                          be81ecec  fffafafa  
                                                          be81ecf0  70bb1590  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ecf4  70b716b0  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ecf8  00000000  
                                                          be81ecfc  00000000  
                                                          be81ed00  70b716b0  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ed04  12d24440  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed08  12dd3600  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed0c  7097b398  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ed10  70981fb8  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ed14  12dd3620  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed18  7f09008a  
                                                          be81ed1c  75655223  /system/framework/arm/boot.oat
                                                          be81ed20  70983f80  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ed24  12d24440  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed28  12c33100  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed2c  75c32b75  /system/framework/arm/boot.oat
                                                     #00  be81ed30  70983f80  /data/dalvik-cache/arm/system@framework@boot.art
                                                          ........  ........
                                                     #01  be81ed30  70983f80  /data/dalvik-cache/arm/system@framework@boot.art
                                                          be81ed34  12c96140  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed38  12dce3d0  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed3c  12c922c0  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed40  12dd35c0  /dev/ashmem/dalvik-main space (deleted)
                                                          be81ed44  12d24440  /dev/ashmem/dalvi
06-02 16:48:28.079 965-965/? D/CrashAnrDetector: processName:cn.eclicks.chelun
06-02 16:48:28.079 965-965/? D/CrashAnrDetector: broadcastEvent : cn.eclicks.chelun SYSTEM_TOMBSTONE
06-02 16:48:28.079 965-965/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1713 com.android.server.analytics.data.collection.application.CrashAnrDetector.broadcastEvent:296 com.android.server.analytics.data.collection.application.CrashAnrDetector.processDropBoxEntry:254 com.android.server.analytics.data.collection.application.CrashAnrDetector.access$100:60 com.android.server.analytics.data.collection.application.CrashAnrDetector$1.onReceive:102 
06-02 16:48:28.079 2187-2187/? W/Settings: Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
06-02 16:48:28.089 965-1656/? D/ActivityManager: isAutoRunBlockedApp:: com.sec.android.gallery3d, Auto Run ON
06-02 16:48:28.089 25625-25625/? D/GalleryCacheReady: Receive : home resume

为什么我总是构建不起来,是要配置groovySDK么

----------------------------问题一----------------------------------------------
Error:(21, 0) No such property: includePackage for class: com.dodola.rocoofix.RocooFixExtension_Decorated Open File

----------------------------问题二--------------------------------------
Error:Gradle: Execution failed for task ':mshop:transformClassesWithDexForDebug'.

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value2

构建的时候总是有各种问题,我们的项目结构是一个A library module依赖 B library module ,B再依赖app这个module。 而且项目中用到的jar包是放在libs里面的,不是compile xxx方式。构建的时候总是出问题。

关闭混淆无法获取补丁

因为是个人项目,所以没有开启混淆。发现这种情况下没有办法生成相应mapping文件和补丁文件。很奇怪,使用这个之后项目就无法调试了。尝试过关闭enable就可以了,但再次尝试依然无法调试程序。

6.0.1中不能用

混淆签名后在4.4中可以 在6.0.1中就不行了 有遇到相同问题的吗 怎么解决呀 我用的是nexus5

运行静态加载demo报错com.dodola.rocoosample.runtimefix E/Rocoo: replaceMethod

06-14 10:04:18.951 22434-22434/com.dodola.rocoosample.runtimefix E/Rocoo: replaceMethod
java.lang.IllegalStateException: Cannot create backup method from :: public java.lang.String com.dodola.rocoosample.HelloHack.showHello()
at com.lody.legend.art.ArtMethod.backup(ArtMethod.java:133)
at com.lody.legend.HookManager.hookMethodArt(HookManager.java:197)
at com.lody.legend.HookManager.hookMethod(HookManager.java:135)
at com.dodola.rocoofix.RocooFix.replaceMethod(RocooFix.java:626)
at com.dodola.rocoofix.RocooFix.fixClass(RocooFix.java:589)
at com.dodola.rocoofix.RocooFix.applyPatchRuntime(RocooFix.java:565)
at com.dodola.rocoofix.RocooFix.initPathFromAssetsRuntime(RocooFix.java:513)
at com.dodola.rocoosample.runtimefix.MainActivity$1.onClick(MainActivity.java:24)
at android.view.View.performClick(View.java:5199)
at android.view.View$PerformClick.run(View.java:21155)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5415)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:725)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:615)

运行报错

Error:Execution failed for task ':app:rocooJarBeforeDexDebug'.
> /Users/zhangwenhai/work/app/build/intermediates/bundles/debug/instant-run/AndroidManifest.xml (No such file or directory)

内部类问题

image
如上图 DemoActivity8是需要被修复的类,修复的内容是加了一个内部类TestInterfaceImpl。
生成path.jar 然后运行原apk,先在主页面运行RocooFix.initPathFromAssetsRuntime(this, "patch.jar");
然后启动DemoActivity8。程序崩溃
image
image

如果先去启动DemoActivity8, 然后退出DemoActivity8回到主页面,运行RocooFix.initPathFromAssetsRuntime(this, "patch.jar"); ,然后再次进入DemoActivity8 则没有任何问题

java.lang.NoClassDefFoundError 如何处理?

05-27 18:40:29.911 32446-32446/com.dodola.rocoosample E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.dodola.rocoosample, PID: 32446
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/dodola/rocoo/Hack;
at com.dodola.rocoosample.MainActivity.(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1650)
at android.app.Instrumentation.newActivity(Instrumentation.java)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.access$900(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
at android.os.Handler.dispatchMessage(Handler.java)
at android.os.Looper.loop(Looper.java)
at android.app.ActivityThread.main(ActivityThread.java)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.dodola.rocoo.Hack" on path: DexPathList[[zip file "/data/app/com.dodola.rocoosample-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at com.dodola.rocoosample.MainActivity.(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Native Method) 
at java.lang.Class.newInstance(Class.java:1650) 
at android.app.Instrumentation.newActivity(Instrumentation.java) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java) 
at android.app.ActivityThread.access$900(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java) 
at android.os.Handler.dispatchMessage(Handler.java) 
at android.os.Looper.loop(Looper.java) 
at android.app.ActivityThread.main(ActivityThread.java) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java) 
Suppressed: java.lang.ClassNotFoundException: com.dodola.rocoo.Hack
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 16 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

点击按钮“FIXMERUNTIME”在安卓5.0以上系统报错

点击按钮“FIXMERUNTIME”,
调用方法“RocooFix.initPathFromAssetsRuntime(MainActivity.this, "patch.jar");”
在安卓系统5.0以下正常使用,但是在5.0以上报错崩溃,崩溃信息如下:

image

不知诸位有没有遇到同样的问题,是怎么解决的?不吝赐教。

patch.jar问题

我看了提问题都是patch.jar没有生成, 我也试了好多次, 作者大人能解答一下吗?

android技术热修复qq群(561394234)

目前热修复的技术最大的问题就是兼容性问题,不同系统版本的兼容性,补丁代码的兼容性,希望大家加入这个群一起交流经验。更希望作者也加进来:)

测试动态修复时候crash,麻烦看看

05-28 19:19:31.299 20849-20849/? E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at com.lody.legend.b.a.(Unknown Source)
at com.lody.legend.b.a.a(Unknown Source)
at com.lody.legend.a.b(Unknown Source)
at com.lody.legend.a.a(Unknown Source)
at com.a.a.a.a(Unknown Source)
at com.a.a.a.d(Unknown Source)
at com.a.a.a.c(Unknown Source)
at com.hotfix.hotfixdemo.b.onClick(Unknown Source)
at android.view.View.performClick(View.java:4223)
at android.view.View$PerformClick.run(View.java:17275)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4898)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.UnsatisfiedLinkError: unknown failure
at java.lang.Runtime.loadLibrary(Runtime.java:370)
at java.lang.System.loadLibrary(System.java:535)
at com.lody.legend.utility.LegendNative.(Unknown Source)
at com.lody.legend.b.a.(Unknown Source) 
at com.lody.legend.b.a.a(Unknown Source) 
at com.lody.legend.a.b(Unknown Source) 
at com.lody.legend.a.a(Unknown Source) 
at com.a.a.a.a(Unknown Source) 
at com.a.a.a.d(Unknown Source) 
at com.a.a.a.c(Unknown Source) 
at com.hotfix.hotfixdemo.b.onClick(Unknown Source) 
at android.view.View.performClick(View.java:4223) 
at android.view.View$PerformClick.run(View.java:17275) 
at android.os.Handler.handleCallback(Handler.java:615) 
at android.os.Handler.dispatchMessage(Handler.java:92) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4898) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) 
at dalvik.system.NativeStart.main(Native Method) 

程序运行提示rocoo.dex有问题

06-01 17:28:55.675 1470-1488/? D/dalvikvm: Debugger has detached; object registry had 1 entries
06-01 17:28:55.705 1470-1470/? E/dalvikvm: ERROR: unrecognized magic number (50 4b 03 04)
06-01 17:28:55.705 1470-1470/? E/dalvikvm: Error with header for /data/data/com.dodola.rocoosample/files/hotfix/rocoo.dex

找不RocooFix

根据说明进行配置后, 提示找不到Rocoofix

patch.jar 文件没有生成原因看这里。

由于文件分隔符采用硬编码的"/", window 系统用户由于使的是 "" 文件分隔符,从而一些判断方法例如 isIncluded,isExcluded 方法判断有误,最终导致文件没有生成。希望作者看到能修复下。

运行报错TransformException

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Translation has been interrupted

根据网上的说法也设置了 multiDexEnabled true但是也不好使

没生成path.jar补丁

只生成了hash,txt ,其他的都没有生成,请问这个怎么处理啊。目前这个是不是还在优化中,还不是很稳定。

有version、patch目录,但是并没有patch.jar文件

参照教程,碰到如下问题:

  • 教程里给的配置并不能正常使用,后面拷贝rocoo项目直接引用才能正常编译

  • Error:Execution failed for task ':rocoofixdemo:rocooJarBeforeDexDebug'.

    D:\Program\Android\Demos\HotFixDemo\rocoofixdemo\build\intermediates\bundles\debug\instant-run\AndroidManifest.xml (系统找不到指定的文件。)
    手动复制Manifest文件才解决

  • 如标题,没有生成patch.jar文件

那个动态注入的时候是没有把那个独立的dex加载进来?

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.dodola.rocoo.Hack" on path: DexPathList[[zip file "/data/app/com.dodola.rocoosample-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

项目中包含枚举类,运行项目时候出现crash,麻烦给看看

05-30 11:29:30.565 30290-30290/? E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.hotfix.hotfixdemo.c.
05-30 11:29:30.570 30290-30290/? E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at com.hotfix.hotfixdemo.MyApplication.(Unknown Source)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newApplication(Instrumentation.java:997)
at android.app.Instrumentation.newApplication(Instrumentation.java:982)
at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)
at android.app.ActivityThread.access$1300(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4898)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoClassDefFoundError: com.dodola.rocoo.Hack
at com.hotfix.hotfixdemo.c.(Unknown Source)
at com.hotfix.hotfixdemo.c.(Unknown Source)
at com.hotfix.hotfixdemo.MyApplication.(Unknown Source) 
at java.lang.Class.newInstanceImpl(Native Method) 
at java.lang.Class.newInstance(Class.java:1319) 
at android.app.Instrumentation.newApplication(Instrumentation.java:997) 
at android.app.Instrumentation.newApplication(Instrumentation.java:982) 
at android.app.LoadedApk.makeApplication(LoadedApk.java:496) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201) 
at android.app.ActivityThread.access$1300(ActivityThread.java:140) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4898) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) 
at dalvik.system.NativeStart.main(Native Method) 

项目中包含枚举类,运行项目时候依然会出现crash,麻烦给看看

06-06 19:36:17.650 17769-17769/com.hotfix.hotfixdemo E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.android.tools.fd.runtime.BootstrapApplication.
06-06 19:36:17.660 17769-17769/com.hotfix.hotfixdemo E/dalvikvm: Could not find class 'com.dodola.rocoo.Hack', referenced from method com.android.tools.fd.runtime.BootstrapApplication$1.
06-06 19:36:17.680 17769-17769/com.hotfix.hotfixdemo E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newApplication(Instrumentation.java:997)
at android.app.Instrumentation.newApplication(Instrumentation.java:982)
at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201)
at android.app.ActivityThread.access$1300(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4898)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoClassDefFoundError: com.dodola.rocoo.Hack
at com.android.tools.fd.runtime.BootstrapApplication$1.(BootstrapApplication.java:69)
at com.android.tools.fd.runtime.BootstrapApplication.(BootstrapApplication.java:68)
at java.lang.Class.newInstanceImpl(Native Method) 
at java.lang.Class.newInstance(Class.java:1319) 
at android.app.Instrumentation.newApplication(Instrumentation.java:997) 
at android.app.Instrumentation.newApplication(Instrumentation.java:982) 
at android.app.LoadedApk.makeApplication(LoadedApk.java:496) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4201) 
at android.app.ActivityThread.access$1300(ActivityThread.java:140) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4898) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) 
at dalvik.system.NativeStart.main(Native Method) 

rocoofix文件夹呢?

@dodola 看了你的最新代码,把rocoo_fix {
// preVersionPath = '1'//注意:此项属性只在需要制作补丁的时候才需开启!!如果不需要制作补丁则需要去掉此项
enable = true

} 这段都删了。
现在使用最新代码运行,rocoofix文件夹都生成不了,更不用说jar包了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.