java - “Hello world”Android應用程序,文件盡可能少,沒有IDE,只有文本編輯器




windows android-studio (4)

在我使用的幾乎所有語言(Python,C,C ++等)中, 只能 用文本編輯器編寫“hello world”應用程序,並從命令行(解釋語言)或編譯/構建運行它它來自命令行(編譯語言),例如 cl.exe helloworld1.cpp

另一方面,每次我使用Android應用程序時,我都需要使用Android Studio(在我的機器上運行速度很慢),使用IDE創建新項目等。

問題: 生成.apk Android應用程序的極簡主義Java源代碼文件/項目文件的最小數量是多少? 如何從命令行構建它? (而且 永遠 不必打開IDE)

注意:我已經閱讀了許多 Android的hello world, 但所有這些都涉及到使用IDE。

NB2:我正在尋找用Java編寫的標準應用程序,而不是Kivy等解決方案。

NB3:即使IDE可能更方便編程Android應用程序,我也沒有看到編譯/構建大量文件的任何 技術 原因 絕對需要 使用GUI進行IDE /編程。 有些人(像我一樣)只喜歡命令行和文本編輯器,這樣一個無IDE的解決方案會有所幫助。

NB4:我在Windows平台上工作,基於 這個答案 ,我已經 在這裡 開始了一個 “沒有IDE的Hello World”github repo ,但是我有一些問題,比如 這個 問題。 另一方面,那裡使用的方法似乎已被棄用......


生成.apk Android應用程序的最小數量的極簡主義Java源代碼文件/項目文件的數量是多少?

構建android Apk文件 classes.dexAndroidManifest.xml 只需要這兩個文件,請查看 此博客文章 以獲取完整信息。

到目前為止,最小的apk大小是678字節。檢查這個 repo


如果您發現Android開發過於復雜並且想要一個更簡單的解決方案 - 我建議嘗試一下。

您可以編寫更易於理解且可在Android或iPhone上運行的應用程序。 它使用與Java有許多相似之處的Dart語言。

這是一個hello world教程,它使用Windows中的IDE和命令行來構建一個Android應用程序。

https://www.youtube.com/watch?v=CEPCGXQ7IQg


為什麼不從Android Studio創建一個空項目,而不是試圖解決這個問題。 它將擁有您需要的一切,以及您可以通過gradlew構建的gradle配置。 然後將其保存在硬盤驅動器上的某個位置,並將其副本用作新項目的開頭。


這是一個 即時使用的方法來構建Android應用程序, 而無需安裝/打開Android Studio一次(這是一個很酷的IDE,但有些人喜歡我只是喜歡文本編輯器+命令行)。 您將在最後獲得完全簽名/對齊的APK,隨時可以訪問Google Play商店。

完全贊同JonGoodwin的 answer ,我只是在這裡用一個 createproject.bat 批處理來完成它。

先決條件(有關它們的更多詳細信息,請參閱 answer ):您需要安裝這些工具:

  • Java JDK

  • Android SDK工具

  • Apache Ant

現在只需修改此 createproject.bat 的第一行以設置您自己的 APPNAMEVENDORNAME ,並根據您的系統更改 adb.exekeytool.exe 等的路徑。

然後運行 createproject.bat 。 它將創建一個新文件夾 helloworld 。 你會發現一些將構建你的應用程序的 .bat 文件!

createproject.bat

@echo off
SET APPNAME=helloworld
SET VENDORNAME=demo
SET SIGNKEYPASSWORD=abcdef12
SET ANTBATPATH="..\..\apache-ant-1.9.9-bin\bin\ant.bat"
SET ADBPATH="C:\Users\User\AppData\Local\Android\android-sdk\platform-tools\adb.exe"
SET KEYTOOLPATH="C:\Program Files\Java\jdk1.8.0_151\bin\keytool.exe"
SET JARSIGNERPATH="C:\Program Files\Java\jdk1.8.0_151\bin\jarsigner.exe"
SET ZIPALIGNPATH="C:\Users\User\AppData\Local\Android\android-sdk\build-tools\19.1.0\zipalign.exe"
SET ANDROIDBATPATH="C:\Users\User\AppData\Local\Android\android-sdk\tools\android.bat"

call %ANDROIDBATPATH% create project --target "android-16" --path %APPNAME% --activity %APPNAME% --package com.%VENDORNAME%.%APPNAME%

(
echo call %ANTBATPATH% debug
echo copy bin\*debug.apk .
) > %APPNAME%\1makedebug.bat


echo %ADBPATH% logcat > %APPNAME%\2adb_logcat.bat
echo %ADBPATH% devices > %APPNAME%\2adb_devices.bat
echo %ADBPATH% install -r %APPNAME%-debug.apk > %APPNAME%\2adb_install.bat
echo %ADBPATH% shell > %APPNAME%\2adb_shell.bat

(
echo call %ANTBATPATH% release
echo %JARSIGNERPATH% -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore "bin\%APPNAME%-release-unsigned.apk" app -storepass %SIGNKEYPASSWORD%
echo %ZIPALIGNPATH% 4 "bin\%APPNAME%-release-unsigned.apk" "%APPNAME%-release.apk"
echo pause
) > %APPNAME%\3makerelease_signed.bat

%KEYTOOLPATH% -genkey -keystore %APPNAME%\my.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias app -dname "cn=Unknown, ou=Unknown, o=Unknown, c=Unknown" -storepass %SIGNKEYPASSWORD% -keypass %SIGNKEYPASSWORD%

echo Finished.
pause




android-gradle