Tag: dx

有没有办法从.dex文件中获取所有类的列表?

我有一个.dex文件,称之为classes.dex 。 有没有一种方法来“读取”该类的内容,并获得所有类的列表,作为完整的类名,包括它们的包, com.mypackage.mysubpackage.MyClass ,例如? 我正在考虑com.android.dx.dex.file.DexFile ,但我似乎无法find检索一整套类的方法。

Android:我的应用程序太大,并提供“无法执行dex:方法ID不在:65536”?

我正在尝试将我的应用程序与Box,Dropbox和Google Drive集成在一起。 所有这些服务都需要一些第三方的jar子。 此外,我的应用程序已经需要一些第三方的jar子。 现在,当我尝试从eclipse运行我的应用程序时,出现以下错误: 无法执行dex:方法ID不在[0,0xffff]:65536转换为Dalvik格式失败:无法执行dex:方法ID不在[0,0xffff]:65536 看来,这个错误发生是因为我的应用程序有太多的方法。 我相当肯定这些方法的大部分来自第三方jar,所以试图通过简化我的代码来解决这个问题是不现实的。 我在网上find了这两个build议。 将dex.force.jumbo=true添加到project.properties(并使用adt版本21)。 我这样做,但仍然得到错误。 按照下面的说明使用多个dex文件: http : //android-developers.blogspot.co.il/2011/07/custom-class-loading-in-dalvik.html 。 这似乎是唯一的select,但我不明白它是如何适用于我的情况。 问题是像Drive这样的服务有太多的依赖关系。 这个解决scheme是不是要求我修改驱动源来引用它的依赖时使用拐点? (这显然不是一种select)。 使用proguard缩小删除不使用的代码/方法。 用proguard导出我的应用程序确实有效,文档服务集成按照预期在> 4.0设备上工作。 但是,在2.3设备上testing时会引发classnotfound错误。 所以,我希望在这个问题上有一些build议。 选项2是我的情况的解决scheme吗? 我应该考虑另一个解决scheme吗?