【问题标题】:Android - get loaded classes / reflection to get classes in a package?Android - 获取加载的类/反射以获取包中的类?
【发布时间】:2012-09-12 15:20:45
【问题描述】:

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

【问题讨论】:

    标签: java android sdk android-ndk


    【解决方案1】:

    因此,对于 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();
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      相关资源
      最近更新 更多