用于创建Android程序的替代语言或工具链

Pro*_*ica 2 ide android dalvik toolchain apk

是否有某种替代工具链或Android语言,可以生成独立的APK文件?

理想情况下,应该依赖于庞大的,不断变化,不断升级官方Android SDK.

尽管微软一直在发布新的Visual Studios,但我正在寻找一个与PowerBASICMingw如何针对普通Windows完全正常的粗略对等.

如果此语言或工具链本身是Android程序,则奖励积分......

Kri*_*ski 6

您可能或可能不知道,Android工具链基于一些简单的想法:

  • 您的代码使用普通的旧java编译器编译,并链接到Android存根(android.jar)以与系统库进行链接.
  • 编译后,代码将转换为dex格式.你可以自己运行它,只需要做一个dx --help.该dx工具的工作是获取Java类文件并将它们转换为dex代码,这是一个非常简单的编译,涉及从基于堆栈到基于寄存器的vm,以及一些其他更改.
  • 完成此操作后,使用一组apk工具构建apk.它曾经是apkbuilder,但此后已被弃用.你也可以自己运行它.所有APK都只是一个清单,资源和dex格式的所有代码的单个文件的集合.(即,许多.class文件编译为单个.dex,由于包装的指针网络,它相当小).

所以Android工具链并不是那么复杂.自定义构建过程由ant构建规则处理,这些规则在SDK范围内定义build.xml,您可以在platform-tools/目录(iirc)中找到它.但是,要使用此自定义构建环境生成新的基线项目,只需使用该android update project命令即可.

虽然我不确定这是否是您希望的响应,但我希望它能消除构建过程的歧义.实际上并不是工具链的复杂性,大部分都是现成的Java,而不是特定于Android的(所有这些都使得特定于Android的是动态链接系统代码的特定于库的存根).除此之外,一旦你有一组类,你只需要运行一些命令来制作Android解包的可执行APK.我怀疑任何针对JVM的工具(并且能够与Android特定的动态链接API链接)都可以执行类似的生成类文件的过程,并使用此工具链来编译其余部分,尽管显然是自动化的ant构建过程使它更简单.

编辑:

经过一番挖掘,我发现了这个相关的android-developers线程. 一个令人不安的报价:

目前,我们根本没有资源来支持那些想要使用自己的构建系统的人,但我们真的希望能够.在很多方面,我们试图通过明确地将逻辑分离到eclipse或特定代码(因此工具和ADT中的大量jar文件)将其简化为其他工具供应商,但这不是其中之一.

但是,您也可能会发现此链接很有用.