android - 在 Android 上列出一个包中的所有类
问题描述
我正在尝试在 Android 上检索给定包名称中的类列表。我有一个看起来像这样的工作方法:
fun getClasses(context: Context, packageName: String): List<Class<*>> {
val dexFile = DexFile(context.applicationInfo.sourceDir)
return dexFile.entries().asSequence()
.filter { it.startsWith(packageName) }
.map { context.classLoader.loadClass(it) }.toList()
}
此实现的问题在于使用了已弃用的DexFile类。我尝试使用在这个问题的答案中找到的几个实现,但是我无法让它们中的任何一个返回任何类。
是否可以在不使用类的情况下在 Android 上检索给定包中的DexFile
类列表?
解决方案
推荐阅读
- typescript - 打字稿错误:TS2304 找不到名称
- sql - 导入数据库(传输wordpress站点数据库)
- arrays - 在 Julia 1.0 中对特征值/特征向量进行排序
- swift - 如何将值转换为 CGPoint?
- isabelle - 对两个变量进行归纳?
- powerbi - 过滤 3 个真/假列
- android - 更改平移控制器允许的 PlaneType
- python - 为什么 352GB 的 NumPy ndarray 可以在 8GB 内存的 macOS 电脑上使用?
- kubernetes - 我的 ingress.yaml 中是否需要 Namespace、Secret、ServiceAccount 和 ConfigMap?
- mysql - 如何连接两个不同的表和两个日期之间的平均值