Приложение" 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 здесь на основеэтого ответа , но у меня есть несколько проблем, таких какэтот . С другой стороны, метод, используемый там, кажется, не одобрять...

814   5  

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 }).

  1. Установить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.

  1. Установите 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).

  2. Скачать 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: создание хранилища ключей (только один раз)

Вам нужно создать хранилище ключей один раз и использовать его для подписи вашего unsigned apk. Используйте 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 (смотрите здесь и здесь для получения более подробной информации). Поэтому Google реализовали свой собственный 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.

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

Comments

    Ничего не найдено.