如何从命令行编译APK?

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

Android项目是由MotoDev完成的 。 它使用我的根目录下的Android SDK。

我应该如何configuration命令行来实现这从我的Delphi程序?

我也将需要更改清单放置一个新的版本号,所以它不会与其他客户端版本冲突。

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将<APK>文件复制到网站可访问的网络共享中,方法是在< target name="release" >部分放置< copy ... />行。

在项目创建时创建build.xml

如果你开始一个新的项目:

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

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

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

创建调试版本

除了:

 ant release 

对于最终版本,您还可以创建调试版本:

 ant debug 

生成的apk的位置

生成的apk放在bin/

最重要的输出是:

 MyName-debug.apk MyName-release.apk 

但也会生成一些中间值,特别是未对齐和未签名的版本。

但是大多数情况下,您可以忘记自己创建的位置,然后运行:

 ant debug install ant release install 

让他们安装。 但是请确保它首先与adb一起工作: adb devices命令不起作用

测试Ubuntu 15.10,Android 23。