Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 格拉德尔的德克斯是什么_Android_Android Gradle Plugin_Proguard_Dex_Dexoptions - Fatal编程技术网

Android 格拉德尔的德克斯是什么

Android 格拉德尔的德克斯是什么,android,android-gradle-plugin,proguard,dex,dexoptions,Android,Android Gradle Plugin,Proguard,Dex,Dexoptions,Gradle或Android中的dex是什么 在Gradle中,dexoptions的含义是什么 有时我的项目由于一些错误而无法编译。 我需要激活ProGuard来编译我的Android应用程序。在标准java世界中: 编译标准java代码时:编译器生成*.class文件。*类文件包含可以在标准JVM上执行的标准java字节码 在Android世界中: 这是不同的。您使用java语言编写代码,但编译器不生成*.class文件,而是生成*.dex文件。*.dex文件包含可在Android虚拟机(d

Gradle或Android中的dex是什么

在Gradle中,
dexoptions
的含义是什么

有时我的项目由于一些错误而无法编译。 我需要激活ProGuard来编译我的Android应用程序。

在标准java世界中: 编译标准java代码时:编译器生成*.class文件。*类文件包含可以在标准JVM上执行的标准java字节码

在Android世界中: 这是不同的。您使用java语言编写代码,但编译器不生成*.class文件,而是生成*.dex文件。
*.dex
文件包含可在Android虚拟机(dalvik)上执行的字节码,这不是标准Java虚拟机

需要明确的是:android中的dex文件相当于标准java中的类

因此,这里定义了一些将java代码配置为android字节码转换的选项。通过此对象配置的选项包括:

  • 目标层
  • 强制巨型模式(启用时,允许在dex文件中使用更多字符串)
要启用巨型模块:

android {
    dexOptions {
        jumboMode = true
    }
}

好的,谢谢你的解释!那艺术节呢?还是.dex文件吗?编译java代码时,dex的大小似乎有限。有时我会遇到一个错误,比如“有太多的类需要用65535位来编译”。即使在调试模式下,我也需要激活proguard,而且我无法调试我的应用程序(断点不会因为混淆而停止)。你有什么建议吗?@psv请查看我对jumbo模式的编辑,然后再试一次。激活proguard可能会减少dex文件中的代码量