package com.camnter.newlife;
import android.app.Application;
import android.content.Context;
import com.camnter.newlife.utils.AssetsUtils;
import dodola.hotfix.HotFix;
import java.io.File;
/**
* Description:MainApplication
* Created by:CaMnter
* Time:2015-10-19 13:49
*/
public class MainApplication extends Application {
public static MainApplication instance;
public static MainApplication getInstance() {
return instance;
}
@Override public void onCreate() {
instance = this;
super.onCreate();
this.insertPile();
this.insertPatch();
}
/**
* 插桩
*/
private void insertPile() {
File dexPath = new File(getDir("dex", Context.MODE_PRIVATE), "hack.jar");
AssetsUtils.prepareDex(this.getApplicationContext(), dexPath, "hack.jar");
HotFix.patch(this, dexPath.getAbsolutePath(), "com.camnter.hack.AntilazyLoad");
try {
this.getClassLoader().loadClass("com.camnter.hack.AntilazyLoad");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 打补丁
*/
private void insertPatch() {
//准备补丁,从 assert 里拷贝到 dex 里
File dexPath = new File(getDir("dex", Context.MODE_PRIVATE), "patch_dex.jar");
AssetsUtils.prepareDex(this.getApplicationContext(), dexPath, "patch_dex.jar");
HotFix.patch(this, dexPath.getAbsolutePath(),
"com.camnter.newlife.ui.activity.hotfix.FixCall");
}
}