是的,您可以从命令行轻松完成 所有操作 (
IDE我保证不涉及)。
这使用了 忠实的 Apache Ant。它并 没有 使用
Gradle,这需要更多的工作。
总结
您输入的是( 只需两行 即可生成apk):
android create project --target "android-16" --path basj --activity TestActivity --package com.android.basj
(这将生成一个
Apache Ant名为
build.xmlfile 的构建文件,该文件 类似于
该
build.gradle文件。现在编写一些代码,但是TestActivity.java已经存在并将进行编译)
ant debug
建立
( 注意* :自Build Tools v26起 ,“ android.bat
”命令已 弃用
,因此请使用旧的命令(请参阅下面的链接),在这种情况下 已弃用 ,意味着已 完全 删除!{ 顽皮的Google })。 __
__* __
- 如果尚未安装Java JDK,请安装它(例如,可以使用jdk-8u151-windows-x64.exe),并确保定义了
JAVA_HOME
环境变量,例如:
JAVA_HOME = C: Program Files Java jdk1.8.0_112
JAVA_PATH = C: Program Files Java jre1.8.0_112 bin
JDK是Java开发工具包。
JRE是Java运行时环境。
如果尚未完成安装
Android SDK Tools
(例如,installer_r24.4.1-windows.exe,请参见此答案),然后在SDK Manager GUI中,取消选择所有内容,然后选择“ Android SDK Build-Tools”(例如Android SDK Build-Tools 19.1
)+一个(或多个)平台(例如Android 4.1.2 (API 16) JELLY_BEAN
)。为了证明您不需要Android Studio
,不打算下载它!(仅SDK)。下载Apache Ant(例如apache-ant-1.9.9-bin.zip)
详情
使用
Android SDK以下命令从命令行创建项目:
确定放置项目的位置:
cd c:androidmkdir antTestcd antTest
运行命令:
C:Androidsdk1toolsandroid create project --target "android-16" --path basj --activity TestActivity --package com.android.basj ^ |--------------+ (here's where I keep an old version of tools (version 25 in my case)
这是创建的目录结构(以及您需要构建的所有文件):
C:.+---basj +---bin +---libs +---res ¦ +---drawable-hdpi ¦ +---drawable-ldpi ¦ +---drawable-mdpi ¦ +---drawable-xhdpi ¦ +---layout ¦ +---values +---src +---com +---android +---basj
创建项目的详细输出:
Created project directory: C:AndroidantTestbasjCreated directory C:AndroidantTestbasjsrccomandroidbasjAdded file C:AndroidantTestbasjsrccomandroidbasjTestActivity.javaCreated directory C:AndroidantTestbasjresCreated directory C:AndroidantTestbasjbinCreated directory C:AndroidantTestbasjlibsCreated directory C:AndroidantTestbasjresvaluesAdded file C:AndroidantTestbasjresvaluesstrings.xmlCreated directory C:AndroidantTestbasjreslayoutAdded file C:AndroidantTestbasjreslayoutmain.xmlCreated directory C:AndroidantTestbasjresdrawable-xhdpiCreated directory C:AndroidantTestbasjresdrawable-hdpiCreated directory C:AndroidantTestbasjresdrawable-mdpiCreated directory C:AndroidantTestbasjresdrawable-ldpiAdded file C:AndroidantTestbasjAndroidManifest.xmlAdded file C:AndroidantTestbasjbuild.xmlAdded file C:AndroidantTestbasjproguard-project.txt
从http://ant.apache.org/下载Apache
Ant。
请参阅本教程进行设置:http :
//www.vogella.com/tutorials/ApacheAnt/article.html
另请参见本教程:http :
//blog.vogella.com/2011/03/16/creating-android-applications-via-the-command-
line-ant/
编写您的代码(Hello world)。
运行此命令,您将在另一端获得一个Android Apk(称为TestActivity-debug.apk):
ant debug
嘿,请告诉我,您有一个Android APK!
添加了新的结构:
C:.├───bin│ ├───classes│ │ └───com│ │ └───android│ │└───basj│ ├───dexedLibs│ └───res│ ├───drawable-hdpi│ ├───drawable-ldpi│ ├───drawable-mdpi│ └───drawable-xhdpi├───gen│ └───com│ └───android│└───basj
对于最终版本:
ant release
如果您对
Antbuild.xml,或
DEX文件的更广泛的示例感兴趣,并且对Android的更深入了解感兴趣,请点击此处
如何签名已编译的APK
请参阅如何注册的已编译的apk ,也该
由一个答案@ for3st这里有一个相关的一块帖子:
手动流程:
步骤1:生成密钥库(仅一次)
您需要一次生成一个密钥库,并用它来签名您的
unsignedapk。使用JDK中提供的
keytool
%JAVA_HOME%/bin/
keytool -genkey -v -keystore my.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias app
步骤2或4:Zipalign
zipalign
%ANDROID_HOME%/sdk/build-tools/24.0.2/如果您要将apk上传到Play商店,则该工具是AndroidSDK提供的工具,例如,该工具是强制性的优化步骤。
zipalign -p 4 my.apk my-aligned.apk
注意: 使用旧的时候
jarsigner,你需要
zipalign后 签字。使用新
apksigner方法时,您需要 在 签名
之前进行操作 (我知道这很混乱)。before
调用可以很好地工作,
zipalign``apksigner因为它可以
apksigner保持
APK对齐和压缩(与不同
jarsigner)。
您可以使用以下方法 验证 对齐方式:
zipalign -c 4 my-aligned.apk
步骤3:签署并验证
使用构建工具24.0.2及更低版本
使用
jarsigner与keytool一样的工具,该工具随附于JDK发行版,
%JAVA_HOME%/bin/并按以下方式使用它:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore my-app.apk my_alias_name
并可以通过
jarsigner -verify -verbose my_application.apk
使用构建工具24.0.3及更高版本
Android 7.0引入
APK Signature Schemev2了一种新的应用程序签名方案,该方案可提供更快的应用程序安装时间,并提供更多保护,以防止对APK文件进行未经授权的更改(有关详情,请参见此处和此处)。因此,
apk签名者称为:
apksigner(duh!)可以在
%ANDROID_HOME%/sdk/build-tools/24.0.3/(.jar位于
/lib子文件夹中)找到脚本文件。像这样使用它:
apksigner sign --ks my.keystore my-app.apk --ks-key-alias alias_name
并可以通过以下方式进行验证:
apksigner verify my-app.apk



