首页 > 解决方案 > 如果我将从 Api 获得移动意图,如何在 android studio 的包中找到类名

问题描述

我正在从 Api 获得移动意图,并且我使用以下代码来查找我的结构中存在的所有类。

try {
          final String thisPackage = context.getPackageName();
            System.out.println("This Package ------>"+thisPackage);
            final DexFile tmp = new DexFile(context.getPackageCodePath());
            for (Enumeration<String> iter = tmp.entries(); iter.hasMoreElements(); ) {
                final String classFullname = iter.nextElement();
                if (classFullname.startsWith(thisPackage)) {
                    // TODO filter out also anonymous classes (es Class1$51)
                    final int index = classFullname.lastIndexOf(".");
                    final String c = (index >= 0) ? classFullname.substring(index + 1) : classFullname;
                    System.out.println("Class Name --------->"+ c);
                }
            }
        } catch (Throwable ex) {
            showToast(context,"Unable to collect class fullnames. Reason: " + ex.getCause() + "\n\rStack Trace:\n\r" + ((ex.getCause() != null)? ex.getCause().getStackTrace(): "none"));
        }

但我不想评价。我想要的只是将所有类加载到 Map 或 Factory 中。请提供更好的解决方案。

标签: androidandroid-studio

解决方案


推荐阅读