几乎所有我用过的语言(Python,C,C ++等),都可以用一个文本编辑器编写一个“hello world”应用程序,并从命令行(解释语言)或编译/构build它来自命令行(编译语言),例如cl.exe helloworld1.cpp 。
另一方面,每次我在做一个Android应用程序时,我需要使用Android Studio(在我的机器上很慢),使用IDE创build一个新项目等。
问题: 生成.apk Android应用程序的极简主义Java源代码文件/项目文件的最小数量是多less? 如何从命令行构build它? (并且永远不必打开IDE)
注意:我已经阅读了Android的许多hello world,但都涉及到使用IDE。
通过局域网从另一台机器访问虚拟主机
需要帮助开始使用谷歌应用程序引擎(PYTHON 2.7)
Django的Apache / mod_pythonpipe理CSS不出现pipe理表
nodejs表示Windows最大连接设置
使用python启动用chcp 65001预先激活的控制台窗口
NB2:我正在寻找用Java编写的标准应用程序,而不是像Kivy这样的解决scheme。
NB3:即使一个IDE可能更方便编程一个Android应用程序,我也没有看到任何编译/构build大量文件的技术原因绝对需要使用GUI的IDE /编程。 有些人(比如我)更喜欢命令行和文本编辑器,而这种无IDE的解决scheme将会有所帮助。
NB4:我在Windows平台上工作,基于这个答案我开始了一个“没有IDE的Hello World”的github回购 ,但是我有一些这样的问题。 另一方面,在那里使用的方法似乎被弃用…
为什么我不能从Windows中的CD上将文件拖放到Eclipse / SWT Drop Target上
Windows 10上的Composer安装错误:安装目录不可写入
我们可以在python脚本启动的同一命令提示符下执行多个命令吗?
运行ckin_freeze运行tkinter exe时出错
使用Owasp for Windows安装ModSecurity
是的,你可以从命令行轻松地做到这一点(没有涉及的IDE ,我保证)。
这使用了旧的忠实的 Apache Ant 。 它不使用Gradle ,这需要更多的工作。
总结
你输入的是( 只有2行来产生一个apk):
android create project --target "android-16" --path basj --activity TestActivity --package com.android.basj
(这会生成一个名为build.xml的Apache Ant构建文件, 就像 build.gradle文件一样 ,现在编写一些代码,但是TestActivity.java已经存在了并且将会被编译)
ant debug
建立
( 注意 :从构建工具版本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:android mkdir antTest cd 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:AndroidantTestbasj Created directory C:AndroidantTestbasjsrccomandroidbasj Added file C:AndroidantTestbasjsrccomandroidbasjTestActivity.java Created directory C:AndroidantTestbasjres Created directory C:AndroidantTestbasjbin Created directory C:AndroidantTestbasjlibs Created directory C:AndroidantTestbasjresvalues Added file C:AndroidantTestbasjresvaluesstrings.xml Created directory C:AndroidantTestbasjreslayout Added file C:AndroidantTestbasjreslayoutmain.xml Created directory C:AndroidantTestbasjresdrawable-xhdpi Created directory C:AndroidantTestbasjresdrawable-hdpi Created directory C:AndroidantTestbasjresdrawable-mdpi Created directory C:AndroidantTestbasjresdrawable-ldpi Added file C:AndroidantTestbasjAndroidManifest.xml Added file C:AndroidantTestbasjbuild.xml Added 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
嘿presto,你有一个Android的apk!
添加了新的结构:
C:. ├───bin │ ├───classes │ │ └───com │ │ └───android │ │ └───basj │ ├───dexedLibs │ └───res │ ├───drawable-hdpi │ ├───drawable-ldpi │ ├───drawable-mdpi │ └───drawable-xhdpi ├───gen │ └───com │ └───android │ └───basj
对于最终构建:
ant release
如果您对Ant build.xml或DEX文件的更广泛的示例感兴趣,以及Android的更深入的工作,请看这里
如何签署一个已编译的apk
看看如何签署一个已编译的apk ,也是如此
从@ for3st的回答可以看出这篇文章的相关部分:
手动过程:
步骤1:生成密钥库(仅一次)
您需要生成一次密钥库,并使用它来签署unsigned apk。 使用在%JAVA_HOME%/bin/找到的JDK提供的keytool ,
keytool -genkey -v -keystore my.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias app
步骤2或4:Zipalign
zipalign 是一个由Android SDK提供的工具 ,例如%ANDROID_HOME%/sdk/build-tools/24.0.2/是一个强制优化步骤,如果你想上传apk到Play商店。
zipalign -p 4 my.apk my-aligned.apk
注意:在使用旧的jarsigner您需要在zipalign 后进行zipalign 。 当使用新的apksigner方法时,您可以在签名之前进行 (困惑,我知道)。 在apksigner工作正常之前调用zipalign ,因为apksigner保留APK对齐和压缩(不像jarsigner )。
您可以通过
zipalign -c 4 my-aligned.apk
第3步:签名和验证
使用构建工具24.0.2及更高版本
使用jarsigner ,像keytool一样,在%JAVA_HOME%/bin/找到JDK发行版 ,并像这样使用它:
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 Scheme v2 ,这是一种新的应用签名方案,可提供更快的应用安装时间,并可防止对APK文件进行未经授权的更改(请参阅此处和此处了解更多详细信息)。 因此, Google实现了自己的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
为什么不从Android Studio创建一个空的项目? 它将拥有你需要的所有东西,以及你可以通过gradlew构建的gradle配置。 然后将其保存在硬盘的某个位置,并将其作为新项目的开始。
生成.apk Android应用程序的极简主义Java源代码文件/项目文件的最小数量是多少?
只有这两个文件才能建立android的Apk文件classes.dex和AndroidManifest.xml ,看看这个博客文章的完整信息。
截至目前为止最小的apk大小是678字节。请检查此回购
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。