public abstract class BaseVM extends Object implements VM, DvmClassFactory
JNI_ABORT, JNI_COMMIT, JNI_ERR, JNI_FALSE, JNI_NULL, JNI_OK, JNI_TRUE, JNI_VERSION_1_1, JNI_VERSION_1_2, JNI_VERSION_1_4, JNI_VERSION_1_6, JNI_VERSION_1_8, JNIGlobalRefType, JNIInvalidRefType, JNILocalRefType, JNIWeakGlobalRefType| 限定符和类型 | 方法和说明 |
|---|---|
int |
addGlobalObject(DvmObject<?> object) |
int |
addLocalObject(DvmObject<?> object) |
void |
addNotFoundClass(String className)
Add not found class
|
void |
callJNI_OnLoad(Emulator<?> emulator,
Module module) |
DvmClass |
createClass(BaseVM vm,
String className,
DvmClass superClass,
DvmClass[] interfaceClasses) |
DvmClass |
findClass(String className) |
LibraryFile |
findLibrary(String soName) |
Emulator<?> |
getEmulator() |
String |
getManifestXml()
设置apkFile以后,可调用该方法获取AndroidManifest.xml
|
<T extends DvmObject<?>> |
getObject(int hash) |
String |
getPackageName()
设置apkFile以后,可调用该值获取apk对应的packageName
|
long |
getVersionCode() |
String |
getVersionName() |
DalvikModule |
loadLibrary(File elfFile,
boolean forceCallInit) |
DalvikModule |
loadLibrary(String libname,
boolean forceCallInit) |
DalvikModule |
loadLibrary(String libname,
byte[] raw,
boolean forceCallInit) |
byte[] |
openAsset(String fileName)
设置apkFile以后,可调用该方法获取资源文件
|
void |
printMemoryInfo() |
DvmClass |
resolveClass(String className,
DvmClass... interfaceClasses) |
void |
setAssetResolver(AssetResolver assetResolver) |
void |
setDvmClassFactory(DvmClassFactory factory) |
void |
setJni(Jni jni)
Use vm.setDvmClassFactory(new ProxyClassFactory()) instead
|
void |
setVerbose(boolean verbose) |
void |
throwException(DvmObject<?> throwable)
VM throw exception
|
byte[] |
unzip(String path)
设置apkFile以后,可调用该方法获取压缩包内容
|
static boolean |
valueOf(int value) |
public static boolean valueOf(int value)
public void setVerbose(boolean verbose)
setVerbose 在接口中 VMpublic void throwException(DvmObject<?> throwable)
VMthrowException 在接口中 VMpublic final void setJni(Jni jni)
VMpublic void addNotFoundClass(String className)
VMaddNotFoundClass 在接口中 VMclassName - eg: sun/security/pkcs/PKCS7public void setDvmClassFactory(DvmClassFactory factory)
setDvmClassFactory 在接口中 VMpublic final DvmClass resolveClass(String className, DvmClass... interfaceClasses)
resolveClass 在接口中 VMinterfaceClasses - 如果不为空的话,第一个为superClass,其它的为interfacespublic DvmClass createClass(BaseVM vm, String className, DvmClass superClass, DvmClass[] interfaceClasses)
createClass 在接口中 DvmClassFactorypublic final int addLocalObject(DvmObject<?> object)
addLocalObject 在接口中 VMpublic final int addGlobalObject(DvmObject<?> object)
addGlobalObject 在接口中 VMpublic LibraryFile findLibrary(String soName)
findLibrary 在接口中 VMpublic final DalvikModule loadLibrary(String libname, boolean forceCallInit)
loadLibrary 在接口中 VMpublic final DalvikModule loadLibrary(String libname, byte[] raw, boolean forceCallInit)
loadLibrary 在接口中 VMpublic String getPackageName()
VMgetPackageName 在接口中 VMpublic String getManifestXml()
VMgetManifestXml 在接口中 VMpublic void setAssetResolver(AssetResolver assetResolver)
setAssetResolver 在接口中 VMpublic final String getVersionName()
getVersionName 在接口中 VMpublic long getVersionCode()
getVersionCode 在接口中 VMpublic final DalvikModule loadLibrary(File elfFile, boolean forceCallInit)
loadLibrary 在接口中 VMpublic final void printMemoryInfo()
printMemoryInfo 在接口中 VMpublic void callJNI_OnLoad(Emulator<?> emulator, Module module)
callJNI_OnLoad 在接口中 VMpublic Emulator<?> getEmulator()
getEmulator 在接口中 VMCopyright © 2021. All rights reserved.