TurboDex: 在Android瞬间加载Dex
众所周知,Android中在Runtime加载一个 未优化的Dex文件 (尤其在 ART 模式)需要花费 很长的时间. 当你在App中使用 插件化框架 的时候, 首次加载插件就需要耗费很长的时间.
Android 其它杂项
共1404Star
详细介绍
TurboDex: Fast load dex in memory
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