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| Modifier and Type | Method and Description |
|---|---|
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
|
net.dongliu.apk.parser.bean.CertificateMeta[] |
getSignatures() |
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 |
setVerboseFieldOperation(boolean verboseFieldOperation) |
void |
setVerboseMethodOperation(boolean verboseMethodOperation) |
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 in interface VMpublic void setVerboseMethodOperation(boolean verboseMethodOperation)
setVerboseMethodOperation in interface VMpublic void setVerboseFieldOperation(boolean verboseFieldOperation)
setVerboseFieldOperation in interface VMpublic void throwException(DvmObject<?> throwable)
VMthrowException in interface VMpublic final void setJni(Jni jni)
VMpublic void addNotFoundClass(String className)
VMaddNotFoundClass in interface VMclassName - eg: sun/security/pkcs/PKCS7public void setDvmClassFactory(DvmClassFactory factory)
setDvmClassFactory in interface VMpublic final DvmClass resolveClass(String className, DvmClass... interfaceClasses)
resolveClass in interface VMinterfaceClasses - 如果不为空的话,第一个为superClass,其它的为interfacespublic DvmClass createClass(BaseVM vm, String className, DvmClass superClass, DvmClass[] interfaceClasses)
createClass in interface DvmClassFactorypublic final int addLocalObject(DvmObject<?> object)
addLocalObject in interface VMpublic final int addGlobalObject(DvmObject<?> object)
addGlobalObject in interface VMpublic final <T extends DvmObject<?>> T getObject(int hash)
public LibraryFile findLibrary(String soName)
findLibrary in interface VMpublic final DalvikModule loadLibrary(String libname, boolean forceCallInit)
loadLibrary in interface VMpublic final DalvikModule loadLibrary(String libname, byte[] raw, boolean forceCallInit)
loadLibrary in interface VMpublic net.dongliu.apk.parser.bean.CertificateMeta[] getSignatures()
getSignatures in interface VMpublic String getPackageName()
VMgetPackageName in interface VMpublic String getManifestXml()
VMgetManifestXml in interface VMpublic byte[] openAsset(String fileName)
VMpublic byte[] unzip(String path)
VMpublic void setAssetResolver(AssetResolver assetResolver)
setAssetResolver in interface VMpublic final String getVersionName()
getVersionName in interface VMpublic long getVersionCode()
getVersionCode in interface VMpublic final DalvikModule loadLibrary(File elfFile, boolean forceCallInit)
loadLibrary in interface VMpublic final void printMemoryInfo()
printMemoryInfo in interface VMpublic void callJNI_OnLoad(Emulator<?> emulator, Module module)
callJNI_OnLoad in interface VMpublic Emulator<?> getEmulator()
getEmulator in interface VMCopyright © 2026. All rights reserved.