如何从命令行编译APK?

时间:2013-03-08 01:46:31

标签: android windows delphi compilation automation

我有兴趣按需制作Android应用。根据客户端的要求,我的网站会将JSON文件直接发送给我在Delphi中创建的Windows应用程序。这个将文件保存在Android应用程序源文件夹中,然后执行命令行告诉Android编译器生成APK文件并将其发送到我的客户端,所有这些都没有我的存在。

Android项目是使用MotoDev制作的。它使用我的root中的Android SDK。

如何从我的Delphi程序中配置命令行来实现这一目标?

我还需要更改清单以设置新版本号,以免与其他客户端版本冲突。

3 个答案:

答案 0 :(得分:31)

Android使用Ant构建系统,因此您可以为项目创建build.xmlbuild.properties文件。

您首先需要创建build.xml文件:

android update project -p .

这将生成build.xml个文件。您应该自定义项目的构建步骤和目标。在您的情况下,一个好主意是让您的网站为特定构建生成build.properties文件...然后通过build.xml文件包含它。特别是,您需要在build.properties文件中指定签名密钥,以及密码是什么:

<强> Build.Properties:

key.store=keystore.dat
key.alias=signing_key
key.store.password=password123
key.alias.password=password123

使用ant的构建过程还允许您在Java文件中执行变量替换,这可能是另一个想法。它允许您在客户端的基础上进一步自定义构建过程。

默认情况下,构建由以下方式触发:

ant clean
ant release

另一个干净的想法:让Ant通过在< copy ... />部分放置< target name="release" >行,将生成的APK文件复制到网站可访问的网络共享。

答案 1 :(得分:5)

在项目创建时创建build.xml

如果您使用以下项目开始新项目:

android create project \
    --target 1 \
    --name MyName \
    --path . \
    --activity MyActivity \
    --package com.yourdomain.yourproject

将生成build.xml使用的ant文件。

android工具位于您下载的SDK的tools/目录中。

创建调试版本

此外:

ant release

对于最终版本,您还可以使用以下命令创建调试版本:

ant debug

生成的apk的位置

生成的apk放在bin/下。

最重要的输出是:

MyName-debug.apk
MyName-release.apk

但也生成了一些中间apks,特别是未对齐和无符号版本。

但大部分时间你都可以忘记创建它们的位置并运行:

ant debug install
ant release install

安装它们。但请确保它首先使用adb:adb devices command not working

在Ubuntu 15.10,Android 23上测试。

答案 2 :(得分:1)

Android现在不直接使用ANT构建系统。它使用基于Groovy的Gradle。您可以了解有关构建系统here的更多信息。

您可以看到使用此命令可以运行的可用任务列表

gradlew tasks

要启动调试版本,请调用assembleDebug任务

gradlew assembleDebug

您可以通过此命令使用adb工具安装应用

adb install path/to/your_app.apk

要了解有关在命令行上进行构建的更多信息,请遵循this综合文章。

您还可以在“ Why Build Your Java Projects with Gradle Rather than Ant or Maven?”上阅读此文章