TurboDex

Project Url: asLody/TurboDex
Introduction: Fast load dex in memory
More: Author   ReportBugs   
Tags:
dex加载慢-应用启动时间长-快速加载 Dex-MultiDex 启动慢-

中文

It is generally known that load an unoptimized Dex file at runtime in Android (especially in ART mode) would take a long time. When your App is using MultiDex or PluginFramework, You will find that this problem is hard to bear.

TurboDex was born to solve this problem, Like to opens the god mode for AndroidVM, after using TurboDex, no matter how much Dex file your need to load, it will be finished in a very short time.

Quick Start Guide

Building TurboDex

TurboDex has given you a pre-compiled version in /Prebuilt, if you need to custom the TurboDex, you need to install Android-NDK.

✘ lody@MacBook-Pro ~/TurboDex/TurboDex/jni> ndk-build                  
SharedLibrary  : libturbo-dex.so
Install        : libturbo-dex.so => libs/armeabi/libturbo-dex.so
SharedLibrary  : libturbo-dex.so
Install        : libturbo-dex.so => libs/x86/libturbo-dex.so

Config

Maven

<dependency>
  <groupId>com.github.asLody</groupId>
  <artifactId>turbodex</artifactId>
  <version>1.1.0</version>
  <type>pom</type>
</dependency>

Gradle

compile 'com.github.asLody:turbodex:1.1.0'

Usage

To use TurboDex, first add library to your project, Then write the following code in your Application:


@Override
protected void attachBaseContext(Context base) {
  TurboDex.enableTurboDex();
  super.attachBaseContext(base);
}

After your enable the TurboDex, No matter where you load the Dex, it will return quickly. Example:

new DexClassLoader(...):

DexFile.loadDex(...);

Others analysis and comment

http://note.youdao.com/share/?id=28e62692d218a1f1faef98e4e7724f22&type=note#/

然而,不知道这篇笔记的作者为什么会认为 Hook 模块是我实现的, 我并没有给 Substrate 那部分的模块自己命名,而是采用了原名:MSHook, 而且, 所有的 Cydia 源码我也保留了头部的协议申明,你知道源码的出处,却没有意识到这一点?

Remark

QQ Group: 535498571

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools