apk(点击下载) / VDogApplication.java


package com.vdog;

import android.app.Application;
import android.content.Context;
import android.view.LayoutInflater;
import com.android.app.utils.DexInstall;
import com.android.app.utils.m;
import java.lang.reflect.Field;
import java.util.ArrayList;

public class VDogApplication extends Application {
    public Application a;
    public m s;

    public void attachBaseContext(Context context) {
        super.attachBaseContext(context);
        try {
            a.a(context);
            this.a = VLibrary.attachApp();
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }

    public void onCreate() {
        super.onCreate();
        Application application = this.a;
        if (application != null) {
            VLibrary.attach(this, application);
            this.a.onCreate();
            try {
                LayoutInflater from = LayoutInflater.from(getApplicationContext());
                Field declaredField = LayoutInflater.class.getDeclaredField("mContext");
                declaredField.setAccessible(true);
                declaredField.set(from, this.a);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        try {
            Class activityThreadClazz = Class.forName("android.app.ActivityThread");
            Object currentActivityThread = activityThreadClazz.getMethod("currentActivityThread", new Class[0]).invoke(null, new Object[0]);
            Field field = activityThreadClazz.getDeclaredField("mAllApplications");
            field.setAccessible(true);
            ArrayList<Application> allApplication = (ArrayList) field.get(currentActivityThread);
            for (int i = 0; i < allApplication.size(); i++) {
                DexInstall.a(allApplication.get(i));
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
    }
}