gpt4 book ai didi

java - Android - 获取加载的类/反射以获取包中的类?

转载 作者:行者123 更新时间:2023-12-02 07:34:58 24 4
gpt4 key购买 nike

有谁知道如何获取 Android 包中的类列表(从 Android 应用程序内),或者如何使用与 Dalvik VM 配合使用的反射从给定包中检索类名?

最佳答案

因此,对于 Android,我们可以使用 DexFile 类来枚举给定 APK 中的可见类。

        try {
DexFile dexFile = new DexFile(new File("/data/app/com.uxpsystems.cepclient-2.apk"));
Enumeration<String> enumeration = dexFile.entries();

if (enumeration.hasMoreElements() == false){
Logger.d(LOG_TAG, "--> Enumeration has no elements");
}

while (enumeration.hasMoreElements()){
String className = enumeration.nextElement();

if (className.substring(0, 18).equals("com.somecompany.aproduct")){
Logger.d(LOG_TAG, "--> Enumeration: " + className);
}else{
// Logger.d(LOG_TAG, "--> Failed match: " + className.substring(0, 18));
}
}
} catch (IOException e) {
e.printStackTrace();
}
}

关于java - Android - 获取加载的类/反射以获取包中的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com