问题标签 [dex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何使用命令在android中执行dex文件?
任何人都可以分享使用命令在android中执行dex文件的方法吗?
这只是为了理解。
android - 有没有办法在给定的 classes.dex 文件中获取类名?
我正在构建一个家庭自动化应用程序。我正在尝试添加一个插件系统。作为一个测试,我将一个测试类(即 Button 的子类)导出为 APK 文件并将其放在我的应用程序的文件目录中。我能够创建这个类的一个新实例,并使用 and 将它放在我的视图DexClassLoader
中.loadClass
。
下一步是扫描此目录中的所有 APK 并获取其中类的名称。
我发现 DexFile 类就是这样做的,但是它抛出了以下异常:
它似乎试图在系统缓存中找到优化的 DexFile,但我没有缓存目录的权限。据我所知,这可能是设计使然,我对此没有问题。是否有另一种方法来解析 DEX 文件并从中获取类名?
我查看了一些 dex 反编译器项目的源代码。我必须推出自己的解决方案吗?
这是我的测试应用程序代码(来自我的 Activity OnCreate),以防我错过了什么:
android - Android应用程序的插件架构?
这个问题已经转移到https://softwarerecs.stackexchange.com/questions/27841/plugins-architecture-for-an-android-app
我想为开源应用程序实现一个插件系统,因为它已经变得非常大,具有许多只有少数用户需要的功能。发布不同的应用程序不是一个好的解决方案,因为用户 A 想要 feature7 和 feature24,而 userB 想要 feature39 和 feature24。
我在哪里可以找到一个插件架构的好例子?
这是我希望插件能够执行的操作:
- 重新定义特定屏幕的布局(加载压缩的 XML?)
- 重新定义一个类的方法(load dex class ?, AOP ?)
例如,其中一个插件必须在特定屏幕上添加一个按钮,单击此按钮会增加应用程序数据库中的一个值。据我所知,这对于内容提供者和意图是不可行的。
我想避免使核心应用程序的代码变得复杂,到处都有大量的钩子。
插件的形式可以是 SD 卡上的文件、应用程序或其他任何东西。
android - dx转dex是否包括原始类文件的校验?
我有兴趣在 dx 将已编译的 Class 文件转换为 dex 文件之前对其进行一些修改。我查看了一些官方的Dalvik 文档以及DEX 格式和 Class 格式之间的比较。我找不到太多关于实际转换过程的信息,class->dex。dx 在转换之前是否首先验证 Class 文件?它是否只是逐个字段和逐个方法地进行,将指令组合并为更紧凑的分组?任何见解将不胜感激。
谢谢。
android - 修改 android.jar 类并在 Android 设备中替换它?
我下载了Android SDK的源代码并修改了android.widget.TextView类。
现在,我想弄清楚如何用修改后的设备替换在我的设备上运行的实际 TextView。
我发现编译的类位于我手机上的 /system/framework 中。
关于如何替换适当的 jar 和 odex 文件的任何指示?
注意:我还在 google 群组中读到,修改 android 的 bits-n-pieces 是行不通的,我们需要构建整个源代码。
android - 无法执行 dex:多个 dex 文件再次定义 Lcom/....
我一直在四处寻找,有很多与此问题相关的帖子,但似乎没有明确的解决方案(例如,构建 apk 时出错 - “多个 dex 文件定义 Lcom/google/ads/Ad”)
我已经尝试过清理/更新/重新启动 eclipse - 其他帖子中提到的所有内容。
我的项目构建,我可以在设备上运行它。但是当我尝试导出签名的 apk 时,我得到了错误。
我没有收到其他项目的错误 - 所有这些在更新 adt 等之前都有效,但由于某种原因,特定项目不会导出......
正如我所说,我可以在 Eclipse 中构建项目并运行/调试它——我只是无法导出它。
android - Android 没有 R.java 的扩展操作码
我在编译 Android 应用程序时遇到了一个重要问题。
使用Windev Mobile,它生成java代码,编译并创建apk,但是,当apk创建时,发生错误:
命令行:"myjavapath\java.exe" -Xmx1024m -Djava.ext.dirs=.\platform-tools\lib -jar .\platform-tools\lib\dx.jar --dex --output "path\classes.dex" "path\classes" "path\libs"
返回错误:无法写入输出:No expanded opcode for 0004368d R.java:11@0001: invoke-direct v0:NffffLmynamespace/R$attr;, java.lang.Object.<init>:()v
此外,R.java 中的 R$attr 不包含任何内容:
我假设有 64k 的硬限制。但:
- R.java 文件只包含 364 行,如果这些行是字段/方法引用,我离 64k 硬限制很远。
- 当我在 Windev Mobile 项目中添加特定窗口时发生此错误。我在另一个项目中使用的窗口没有错误。
那么,你认为它来自哪里?如果您需要任何信息或文件,没问题。
提前致谢。
PS:可能我的英文不太好,抱歉。
java - 外部库在 APK 中的什么位置?
我想知道,在将外部 jar 添加到 android 项目时,它们实际上位于 APK 包中的哪个位置?我似乎找不到他们。
由于 Java 通常会根据需要在运行时加载类,所以让我感到奇怪的是它们似乎不在可分发文件中。
dex不一样吗?这些是静态构建吗?
java - 如何将vm字节码反编译成java
是否有任何工具可以将那些是 VM 字节码文件的 Android DEX 转换为相应的 Java 源代码?