java - what - update android build tools android studio




Aplicativo Android "Hello world" com o menor número de arquivos possível, sem IDE e editor de texto (4)

Qual é o menor número de arquivos de código-fonte / arquivos de projeto Java minimalistas para produzir um aplicativo Android .apk?

Apenas estes 2 arquivos são necessários para construir o arquivo Apk android classes.dex e AndroidManifest.xml , confira este post para informações completas.

O menor tamanho de apk feito até agora é 678 bytes.check this repo

Em quase todas as linguagens que eu usei (Python, C, C ++, etc.), é possível escrever um aplicativo "hello world" apenas com um editor de texto e executá-lo a partir da linha de comando (linguagens interpretadas) ou compilar / construir a partir da linha de comando (linguagens compiladas), por exemplo, cl.exe helloworld1.cpp .

Por outro lado, toda vez que estou fazendo um aplicativo Android, eu preciso usar o Android Studio (que é lento na minha máquina), criar um novo projeto com o IDE, etc.

Pergunta: Qual é o menor número de arquivos de código-fonte / arquivos de projeto Java minimalistas para produzir um aplicativo Android .apk? Como construí-lo a partir da linha de comando? (e nunca tem que abrir o IDE)

NB: Eu já li muitos hello world para Android, mas todos envolvem o uso do IDE.

NB2: Estou procurando aplicativos padrão escritos em Java, não soluções como Kivy, etc.

NB3: mesmo que um IDE seja provavelmente mais conveniente para programar um aplicativo Android, não vejo nenhuma razão técnica para a qual compilar / construir um número de arquivos exigiria um IDE / programação com uma GUI. Algumas pessoas (como eu) preferem apenas a linha de comando e o editor de texto, e essa solução livre de IDE seria útil.

NB4: Estou trabalhando na plataforma Windows, iniciei um repositório github "Hello World sem IDE" baseado nesta resposta , mas tenho alguns problemas como este . Por outro lado, o método usado parece ser depreciado ...


Em vez de tentar descobrir isso, por que não criar um projeto vazio no Android Studio? Ele terá tudo que você precisa e uma configuração de gradle que você pode construir via gradlew. Em seguida, salve-o em algum lugar no disco rígido e use uma cópia dele como o início de seus novos projetos.


Se você está achando o desenvolvimento do Android muito complexo e quer uma solução mais simples - eu sugeriria tentar flutter.

Você pode escrever aplicativos que sejam mais fáceis de entender e que serão executados no Android ou no iPhone. Ele usa a linguagem Dart, que tem muitas semelhanças com o Java.

Aqui está um olá mundo tutorial que usa um IDE e linha de comando no Windows para construir um aplicativo Android.

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


Sim, você pode facilmente fazer tudo a partir da linha de comando (NO IDE envolvido, eu prometo).
Isso usa o antigo fiel Apache Ant . Não usa Gradle , que leva mais trabalho.

Para resumir

O que você digita é ( apenas 2 linhas para produzir um apk):

    android create project --target "android-16" --path basj --activity TestActivity --package com.android.basj 

(Isso produz um arquivo de compilação do Apache Ant chamado build.xml que é como o arquivo build.gradle . Agora, escreva algum código, mas TestActivity.java já estará lá e compilará)

    ant debug

Configuração

( Nota : O comando " android.bat " está obsoleto desde o Build Tools v26 , portanto, use um antigo (veja link abaixo), descontinuado neste caso significa TOTALMENTE removido! { Naughty Google }).

  1. Instale o Java JDK, se ainda não estiver instalado (você pode usar o jdk-8u151-windows-x64.exe, por exemplo) e verifique se a variável de ambiente JAVA_HOME está definida, por exemplo:

    JAVA_HOME = C: \ Arquivos de Programas \ Java \ jdk1.8.0_112
    JAVA_PATH = C: \ Arquivos de Programas \ Java \ jre1.8.0_112 \ bin

JDK é o Java Development Kit.
JRE é o ambiente Java Run-time.

  1. Instale o Android SDK Tools (por exemplo, installer_r24.4.1-windows.exe , veja esta resposta ) se ainda não estiver pronto e, na GUI do SDK Manager, desmarque tudo e escolha "Android SDK Build-Tools" (por exemplo, Android SDK Build-Tools 19.1 ) + uma (ou muitas) plataformas (por exemplo, Android 4.1.2 (API 16) JELLY_BEAN ). Para provar que você não precisa do Android Studio , não iria baixá-lo! (apenas o SDK).

  2. Faça o download do Apache Ant (por exemplo, apache-ant-1.9.9-bin.zip )

Detalhe

Para criar um projeto a partir da linha de comando usando o Android SDK :

Decida em um lugar para colocar seu projeto:

cd c:\android
mkdir antTest
cd antTest

Execute o comando:

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)

Aqui está a estrutura de diretórios criada (e todos os arquivos que você precisa construir):

C:.
+---basj
    +---bin
    +---libs
    +---res
    ¦   +---drawable-hdpi
    ¦   +---drawable-ldpi
    ¦   +---drawable-mdpi
    ¦   +---drawable-xhdpi
    ¦   +---layout
    ¦   +---values
    +---src
        +---com
            +---android
                +---basj

saída detalhada do projeto de criação:

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

Faça o download do Apache Ant em http://ant.apache.org/ .

Veja este tutorial para configuração: http://www.vogella.com/tutorials/ApacheAnt/article.html

Veja também este tutorial: http://blog.vogella.com/2011/03/16/creating-android-applications-via-the-command-line-ant/

Escreva seu código (Olá mundo).

Execute este comando e receba um Android Apk do outro lado (chamado TestActivity-debug.apk):

ant debug

Hey presto, você tem um apk android!
Com nova estrutura adicionada:

C:.
├───bin
   ├───classes
      └───com
          └───android
              └───basj
   ├───dexedLibs
   └───res
       ├───drawable-hdpi
       ├───drawable-ldpi
       ├───drawable-mdpi
       └───drawable-xhdpi
├───gen
   └───com
       └───android
           └───basj

Para uma compilação final:

ant release

Se você está interessado em um exemplo mais extenso de Ant build.xml , ou arquivos DEX , e o funcionamento mais profundo do Android, veja here

Como assinar um apk já compilado

Veja como assinar um apk já compilado e também this
De uma resposta de @ for3st aqui está uma parte relevante desse post:

Processo manual:

Etapa 1: gerar keystore (somente uma vez)

Você precisa gerar um keystore uma vez e usá-lo para assinar o seu apk unsigned . Use o keytool fornecido pelo JDK localizado em %JAVA_HOME%/bin/

keytool -genkey -v -keystore my.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias app

Etapa 2 ou 4: Zipalign

zipalign que é uma ferramenta fornecida pelo Android SDK encontrado, por exemplo, em %ANDROID_HOME%/sdk/build-tools/24.0.2/ é uma etapa de otimização obrigatória se você quiser enviar o apk para a Play Store.

zipalign -p 4 my.apk my-aligned.apk

Nota: ao usar o jarsigner antigo, você precisa zipalign DEPOIS de assinar. Ao usar o novo método apksigner você faz isso ANTES de assinar (confuso, eu sei). Invocar o zipalign antes do apksigner funcionar bem porque o apksigner preserva o alinhamento e a compactação do APK (ao contrário do jarsigner ).

Você pode verificar o alinhamento com:

zipalign -c 4 my-aligned.apk

Etapa 3: assinar e verificar

Usando ferramentas de compilação 24.0.2 e mais antigas

Use o jarsigner que, como o keytool, vem com a distribuição do JDK encontrada em %JAVA_HOME%/bin/ e usa da seguinte forma:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my.keystore my-app.apk my_alias_name

e pode ser verificado com

jarsigner -verify -verbose my_application.apk

Usando ferramentas de compilação 24.0.3 e mais recentes

Android 7.0 apresenta o APK Signature Scheme v2 , um novo esquema de assinatura de aplicativos que oferece tempos de instalação de aplicativos mais rápidos e mais proteção contra alterações não autorizadas em arquivos APK (consulte here e here para obter mais detalhes). Portanto, o Google implementou seu próprio signatário apk chamado: apksigner (duh!) O arquivo de script pode ser encontrado em %ANDROID_HOME%/sdk/build-tools/24.0.3/ (o .jar está na subpasta /lib ). Use assim:

apksigner sign --ks my.keystore my-app.apk --ks-key-alias alias_name

e pode ser verificado com:

apksigner verify my-app.apk




android-gradle