问题标签 [dx]

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.

0 投票
1 回答
919 浏览

android - android SDK中没有dx?

我刚刚下载了适用于 linux_x86 的 android SDK。我找不到dx。文件说它应该在 /tools/ 上。dx 是否从某个时候不再包含在内?

0 投票
1 回答
427 浏览

android - 如何在使用 Android 没有的包编译的 Android 中使用 jar 库

我需要导入几个在 java 的完整实现下编译的 jar。我知道 Android 并没有使用 java 必须提供的所有包。我的问题是:是否可以在不产生错误的情况下导入它们?是否有可以将 jar 转换为 android jar 的工具?如果有,能否提供一些例子。任何帮助深表感谢。

0 投票
1 回答
161 浏览

android - 是否有适用于 Android 的 DX 工具的 API 或示例规范!

我想使用 DX Tool API 来尝试生成一个临时的 dexfile 来调用这个库。该库是否有任何样本或任何规范?

谢谢大家

问候!

0 投票
1 回答
2936 浏览

android - java程序引用外部包库如何使用dx生成dex文件

我是一名新手 Android 开发人员,想知道如何使用 dx 为引用外部包库的 java 程序生成 dex 文件。最终,我试图在 Android 设备的命令行中使用 dalvikvm 运行这个生成的 dex 文件。

这是我的问题的一个例子:

如果我有一个 java HelloWorld.class 引用了一个包 moon.jar(例如,我在 HelloWorld.class 的 main 方法中从包中实例化一个对象),那么发出生成 dex 文件的完整和准确的 dx 命令应该是什么/s?

生成 dex 文件后,我应该如何将它们打包到 jar 中?

使用生成的 jar,在 Android 设备的命令行中运行 jar 文件的完整且准确的 dalvikvm 命令应该是什么?

希望收到 dx 和 dalvikvm 专家的来信,谢谢!!

0 投票
2 回答
2485 浏览

java - 如何使用 Android 不支持的 java 核心库?

在 android Dx 中使用核心类时出现问题处理“javax/xml/bind/Binder.class”我确实需要 javax.xml.* 中的类来开发 Web 服务,但它在 Android 中并不完全支持。当我导入这些 jars 时,eclipse 中没有显示编译错误,但 DX 无法处理它。我在网上搜索后,据说可以使用--core-library或者使用jarjar重新打包。我还没有找到任何在 Eclipse 中添加 DX 选项的教程。感谢您提供解决此问题的任何帮助。

0 投票
3 回答
2678 浏览

java - 编译jar并将它们添加到android项目中

好的,事情就是这样,我花了几天时间搜索所有数据库,所以要么我没有搜索正确的单词,要么没有答案,希望“还”。

症状:-编译Android项目DX每次构建项目时都会编译所有jar-没有理由这样做一次就足够了,无论如何每次都这样做,每次构建都需要很长时间而不是几秒钟需要几分钟。

真正的问题:

-添加几个罐子导致 Eclipse 崩溃——现在这是这些设置(重罐子)-Xms256m -Xmx1024m -XX:+UseParallelGC -XX:PermSize=256M -XX:MaxPermSize=512M

(这实际上提供了更好的性能,所以如果你的 Eclipse 编译速度慢,你可以添加 -XX:+UseParallelGC 它会有所帮助)(我不能将它设置得比这更高,当 Eclipse 崩溃时,java 堆大小达到 750m,gc 不会在 DX 编译 jar 时工作,它会尝试在两者之间进行尝试,但 CPU 很忙,不允许它这样做,所以当它到达第四个 3MB 的 jar 时,它的堆上有 600MB 之类的东西,这是为什么我使用 gcoverheadlimit)

将它们中的每一个或几个一起编译会很好地编译它(在同一个android项目中),问题是我找不到单独编译它们的方法(然后我需要在客户端设备上安装apks),当我将它们编译在一起 Eclipse 崩溃。

我尝试使用 cmd 和 DX 逐一编译它们,虽然它是构建的,但是当我在 eclispe 中构建项目时它会重建它,所以就像我什么都没做一样,也试图将 jar 转换为 DEX 文件,没有帮助.

我写了很多关于java堆大小的帖子,这不是我的情况,我什至使用了gcoverheadlimit,太多的罐子会导致它崩溃,如果有人有想法/解决方案,我会向他/她致敬......

总结一下:我想将java常规jar转换为Dalvik格式,然后将其作为资源添加到android项目中,所以当项目编译完成时,不需要将jar转换为Dalvik格式,因为它已经完成了。

0 投票
2 回答
4507 浏览

android - HelloWorld 无法在 dalvikvm 下运行

我正在尝试来自https://android.googlesource.com/platform/dalvik/+/gingerbread/docs/hello-world.html的 Hello World 示例

但是,我的 Foo 程序没有运行;dalvikvm 抱怨以下问题:

Dalvik VM 无法找到类 'Foo' java.lang.NoClassDefFoundError: Foo at dalvik.system.NativeStart.main(Native Method) 原因:java.lang.ClassNotFoundException: Foo in loader dalvik.system.PathClassLoader[/mnt/sdcard /foo.jar] 在 dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:573) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:532) ... 1 更多

Logcat 在 dalvikvm 调用期间提供了更多信息:

D/dalvikvm(1361):创建instr宽度表E/dalvikvm(1361):无法打开dex缓存'/data/dalvik-cache/mnt@sdcard@foo.jar@classes.dex':没有这样的文件或目录I/dalvikvm(1361):无法为 /mnt/sdcard/foo.jar(/data /dalvik-cache/mnt@sdcard@foo.jar@classes.dex)打开或创建缓存 W/dalvikvm(1361):threadid =1:线程以未捕获的异常退出(组=0x4 001e9a8)

有没有人知道我做错了什么?

0 投票
3 回答
297 浏览

android - “转换为 Dalvik 格式失败”错误不会消失

"Conversion to Dalvik format failed: unable to execute dex: wrapper was not properly loaded first"

我在eclipse中的项目中遇到了这个错误,我搜索了它,所有答案都说这是.jar文件冲突的问题,并且清理项目并且它应该可以工作。库中只有一个 .jar 文件,清理它并没有让它消失。事实上,我清理了所有项目,它在我的其他项目上也出现了同样的错误!!自从我上次成功运行我的项目以来,我还没有对 Eclipse 做过任何事情。我去了商店,回来尝试再次运行它,并得到了这个错误。我为新的华硕平板电脑下载了 OEM 驱动程序,但我不认为这样做...它们仍在我的下载文件夹中!发生了什么??

0 投票
2 回答
1213 浏览

android - 从命令行管理android项目

我在不使用 ant 的情况下从命令行管理和运行我的 android 应用程序,我按照以下步骤操作:

  • 生成 R.java
  • 将R.java 和所有.java文件编译src.class文件
  • dex使用以下命令将一组类文件组装成文件
    dx --dex --verbose --output=./bin/classes.dex ./bin

.class文件在 bin 目录中。

但我在这些步骤中遇到以下错误:

因此,我无法创建Classes.dex文件。

有人可以为此提出解决方案吗?

[仅通过命令行不使用 eclipse 和 ant]

0 投票
2 回答
1683 浏览

android - Dx 警告:忽略 InnerClasses .. for org.apache.tools.ant

我遇到了这组导致内存溢出并最终导致 Eclipse 崩溃的警告。

这是一个包含 twitter4J 核心 jar 作为参考库的 Android 应用程序。这是使用 Google API (com.google.android.),所以我将目标设置为 Google API,而不是通用 ADK。

这就是问题所在。

[2011-11-18 08:29:24 - Twitter] Dx 警告:忽略不附带关联 EnclosureMethod 属性的匿名内部类 (org.apache.tools.ant.taskdefs.Parallel$1) 的 InnerClasses 属性。此类可能是由不针对现代 .class 文件格式的编译器生成的。推荐的解决方案是从源代码重新编译类,使用最新的编译器并且不指定任何“-target”类型选项。忽略此警告的后果是此类上的反射操作将错误地指示它不是内部类。

这种警告持续到大约 20 个内部类(taskdefs 中大约 6 个),并且控制台中提到的所有内部类都来自 org.apache.tools.ant。

我使用http://mac.softpedia.com/get/System-Utilities/Java.shtml将 Mac OS X Lion 的 Java SE 6 更新为 1.6 ,

但问题仍然存在。我应该升级我的蚂蚁吗?我的蚂蚁版本是 1.8.2。