为什么Android SDK需要JDK?

时间:2013-08-28 13:58:41

标签: android compilation java

我想了解为什么Android SDK需要JDK。

  • Android SDK不应该拥有它需要的所有JDK Java类(潜在的实现差异)?
  • JDK中包含的所有工具是否需要它?
  • 我们在构建.dex&amp ;;时使用JDK .apk文件?
  • 说Java Java类必须用Java 5或6编译器兼容性编写是什么意思?

由于

3 个答案:

答案 0 :(得分:9)

ANdoBuild

典型构建的一般过程概述如下:

  • Android资产包装工具(aapt)会接收您的应用程序 资源文件,例如AndroidManifest.xml文件和XML 您的活动的文件,并编译它们。 R.java也是 因此您可以从Java代码中引用您的资源。
  • aidl工具将您拥有的任何.aidl接口转换为Java 接口。
  • 所有Java代码,包括R.java和.aidl文件,都是 由 Java编译器编译并输出.class文件。
  • dex工具将.class文件转换为Dalvik字节代码。任何第三 你所包含的派对库和.class文件 项目也会转换为.dex文件,以便它们可以 打包成最终的.apk文件。
  • 所有未编译的资源(如图像),已编译的资源和 .dex文件被发送到apkbuilder工具以打包成一个 .apk文件。
  • 构建.apk后,必须使用调试或 释放密钥,然后才能将其安装到设备上。
  • 最后,如果应用程序在发布模式下签名,则必须 将.apk与zipalign工具对齐。对齐最终的.apk 在应用程序在设备上运行时减少内存使用量。

More referance here..

答案 1 :(得分:1)

Android SDK使用JDK将.java文件编译为.class字节码。

答案 2 :(得分:0)

构建项目时,所有.java文件都会转换为.class。你需要JDK。

现在,adk的dx工具将所有.class文件转换为classes.dex文件。此classes.dex文件在dalvik虚拟机上执行。