Приложение" Hello world " для Android с минимальным количеством файлов, без IDE и только в текстовом редакторе
Почти на всех языках, которые я использовал (Python, C, C++ и т. д.), можно написать приложение "hello world" только с помощью текстового редактора и запустить его из командной строки (интерпретируемые языки) или скомпилировать/построить его из командной строки (компилируемые языки), например cl.exe helloworld1.cpp.
С другой стороны, каждый раз, когда я делаю приложение для Android, мне нужно использовать Android Studio (которая медленно работает на моей машине), создавать новый проект с IDE и т. д.
Вопрос: что является наименьшим номер открывает исходный код Java-файлы/файлы проекта для производства .apk-приложение для Android? Как построить его из командной строки? (и Никогда не придется открывать IDE)
NB: я читал много hello world для Android, но все они связаны с использованием IDE.
NB2: я ищу стандартные приложения, написанные на Java,а не решения, такие как Kivy и т. д.
NB3: даже если IDE, вероятно, удобнее программировать приложение для Android, я не вижу никаких технических причина, по которой компиляция/построение ряда файлов абсолютно требует IDE / программирования с графическим интерфейсом. Некоторые люди (например, я) предпочитают только командную строку и текстовый редактор, и такое решение без IDE было бы полезно.
NB4: я работаю на платформе Windows, я запустил"Hello World without IDE" GitHub repo здесь на основеэтого ответа , но у меня есть несколько проблем, таких какэтот . С другой стороны, метод, используемый там, кажется, не одобрять...
5 ответов:
Да, вы можете легко сделать это все из командной строки (нет
IDE, я обещаю).
Это использует старый верный Apache Ant . Он не используетGradle, что требует больше работы.Резюмировать
То, что вы набираете (всего 2 строки для создания apk):
android create project --target "android-16" --path basj --activity TestActivity --package com.android.basj(это создает
Apache Antфайл сборки, называемыйbuild.xmlфайл, которыйпохож на файлbuild.gradle. Теперь напишите какой-нибудь код, но TestActivity.java-это там уже и скомпилируют)ant debugНастройка
(Примечание : команда"
android.bat" является устаревшей, так как Build Tools v26, поэтому используйте старую (см. ссылку ниже), deprecated в этом случае означает полностью убрали !{непослушный Google }).
УстановитьJava JDK , если он еще не установлен (можно использовать jdk-8u151-windows-x64.например, exe), и убедитесь, что переменная окружения
JAVA_HOMEопределяется например:JAVA_HOME=C:\Program Files\Java\jdk1. 8. 0_112
JAVA_PATH=с: программы\файлы\папку Java\jre1.8.\0_112 ОГРНJDK - это набор для разработки Java.
JRE - это среда выполнения Java.
Установите
Android SDK Tools(т. е. installer_r24.4.1-окна.exe , смотрите этот ответ), если еще не сделано, а затем в графическом интерфейсе SDK Manager снимите все флажки и выберите "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.застежка-молния)
Деталь
Чтобы создать проект из командной строки, используйте
Android SDK:Решите, куда поместить ваш проект:
cd c:\android mkdir antTest cd antTestВыполните команду:
C:\Android\sdk1\tools\android 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Подробный вывод create project:
Created project directory: C:\Android\antTest\basj Created directory C:\Android\antTest\basj\src\com\android\basj Added file C:\Android\antTest\basj\src\com\android\basj\TestActivity.java Created directory C:\Android\antTest\basj\res Created directory C:\Android\antTest\basj\bin Created directory C:\Android\antTest\basj\libs Created directory C:\Android\antTest\basj\res\values Added file C:\Android\antTest\basj\res\values\strings.xml Created directory C:\Android\antTest\basj\res\layout Added file C:\Android\antTest\basj\res\layout\main.xml Created directory C:\Android\antTest\basj\res\drawable-xhdpi Created directory C:\Android\antTest\basj\res\drawable-hdpi Created directory C:\Android\antTest\basj\res\drawable-mdpi Created directory C:\Android\antTest\basj\res\drawable-ldpi Added file C:\Android\antTest\basj\AndroidManifest.xml Added file C:\Android\antTest\basj\build.xml Added file C:\Android\antTest\basj\proguard-project.txtЗагрузить Apache Ant из http://ant.apache.org/.
Смотрите этот учебник для настройки: http://www.vogella.com/tutorials/ApacheAnt/article.html
Также смотрите это tutorial:http://blog.vogella.com/2011/03/16/creating-android-applications-via-the-command-line-ant/
Напишите свой код (Привет мир).
Выполните эту команду, и вы получите Android Apk с другой стороны (называется TestActivity-debug.АПК):
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Если вас интересует более обширный пример
Ant build.xml, илиDEXфайлов, и более глубокие работы Android смотрите здесьКак подписать уже скомпилированный apk
См. как подписать уже скомпилированный АПК , а также этот
Из ответа @for3st вот соответствующий фрагмент этого поста:Ручной Процесс:
Шаг 1: создание хранилища ключей (только один раз)Вам нужно создать хранилище ключей один раз и использовать его для подписи вашего
unsignedapk. Используйтеkeytoolпредоставлено JDK , найденным в%JAVA_HOME%/bin/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 Store.zipalign -p 4 my.apk my-aligned.apkПримечание: при использовании старого
jarsignerнеобходимоzipalignпосле подписания. При использовании нового методаapksignerвы делаете это перед подписью (запутанно, я знаю). вызовzipalignпередapksignerпрекрасно работает , потому чтоapksignerсохраняетAPKвыравнивание и сжатие (в отличие отjarsigner).Вы можете проверить выравнивание с:
zipalign -c 4 my-aligned.apkШаг 3: Подписать И Проверить
Использование build-tools 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Использование build-tools 24.0.3 и новее
Android 7.0вводитсяAPK Signature Scheme v2, новая схема подписи приложений, которая обеспечивает более быстрое время установки приложений и большую защиту от несанкционированного доступа. изменения в файлах APK (смотрите здесь и здесь для получения более подробной информации). ПоэтомуapkСигнер под названием:apksigner(да!) Файл сценария можно найти в%ANDROID_HOME%/sdk/build-tools/24.0.3/(the .jar находится в подпапке/lib). Используйте его следующим образом:apksigner sign --ks my.keystore my-app.apk --ks-key-alias alias_nameИ может быть проверено с помощью:
apksigner verify my-app.apk
Каково наименьшее количество минималистского исходного кода Java файлы / файлы проекта для создания .apk-приложение для Android?
Только эти 2 файла необходимы для сборки файла Android Apk
classes.dexиAndroidManifest.xml, Проверьте этот пост в блоге для полной информации .Самый маленький размер apk, сделанный до сих пор, составляет 678 байт.проверьте это repo
Это готовый к использованию метод для сборки приложения для Android без необходимости устанавливать/открывать Android Studio даже один раз (это классная IDE, но некоторые люди, такие как я, просто предпочитают текстовый редактор + командная строка). В конце вы получите полностью подписанный/выровненный APK, готовый к использованию в магазине Google Play.
Полная заслуга Джонгудвина. Ответ , я просто суммировал его здесь с помощью одного пакета
createproject.bat, который делает все.Предпосылки (см. его ответ для подробнее о них): вам нужно установить эти инструменты:
Java JDK
Android SDK Tools
Apache Ant
Теперь просто измените первые строки этого
createproject.bat, чтобы установить свой собственныйAPPNAME,VENDORNAME, и изменить путьadb.exe,keytool.exe, и т.д. в соответствии с вашей системой.Затем запустите
createproject.bat. Он создаст новую папкуhelloworld. Там вы найдете несколько файлов.bat, которые помогут вам построить ваш приложение!
Createproject.летучая мышь
@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 Studio. В нем будет все, что вам нужно, и конфигурация gradle, которую вы можете построить через gradlew. Затем сохраните это где-нибудь на жестком диске и используйте копию этого как начало ваших новых проектов.
Если вы находите разработку android слишком сложной и хотите более простое решение - я бы предложил попробовать flutter.
Вы можете писать приложения, которые проще для понимания и будут работать на Android или IPhone. Он использует язык Dart, который имеет много общего с Java.
Вот учебник hello world, который использует IDE и командную строку в windows для создания приложения для android.
Comments