Autore Topic: Tool Ant per il build  (Letto 2273 volte)

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Tool Ant per il build
« il: 12 Novembre 2011, 17:59:47 CET »
0
Salve ragazzi. Allora è da poco che mi sono comprato un bel manuale di Android 3.0. Devo eseguire il build dell'applicazione tramite il tool ant. Bene non ci riesco. Ho scaricato ant 1.8.2 dal sito, l'ho scompattato ed ho aggiunto il PATH (forse ho sbagliato qualcosa).
L'ho scompattato nella cartella home.
Il path l'ho impostato così:

--> gedit ~ /.bashrc

Ed ho aggiunto alla fine del file queste righe:

PATH=$PATH:/home/loris/apache-ant
export PATH

Quando mi posiziono nella directory del progetto android (per ora il semplice HelloWorld) e lancio ant debug, ottengo questo messaggio:

Buildfile: build.xml

-set-mode-check:

-set-debug-files:

-set-debug-mode:

-debug-obfuscation-check:

-setup:
     [echo] Gathering info for HelloAndroid...

BUILD FAILED
/home/loris/Scrivania/android-sdk/tools/ant/build.xml:421: The Android Ant-based build system requires Ant 1.8.0 or later. Current version is 1.7.1


Total time: 0 seconds

Il discorso è che la versione di ant che ho scaricato è la 1.8.2 >.> Help  :'(




Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Tool Ant per il build
« Risposta #1 il: 12 Novembre 2011, 18:38:54 CET »
0
C'é un motivo per cui non usi eclipse + adt?
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Tool Ant per il build
« Risposta #2 il: 12 Novembre 2011, 18:39:37 CET »
0
Si, sto cercando di seguire la spiegazione del libro  :-P

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Tool Ant per il build
« Risposta #3 il: 12 Novembre 2011, 18:55:02 CET »
0
Hai due versioni di Ant installate, molte distribuzione di Linux hanno Ant e non severe installarlo basta aggiornalo se troppo vecchio.

Per verificarlo basta che fai:

$> type -a ant

riporta dove si trova il comando e di default viene preso il primo.
adb logcat | tee /tmp/logcat | grep TAG

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Tool Ant per il build
« Risposta #4 il: 12 Novembre 2011, 18:59:31 CET »
0
Oddio esce questo:

ant è /usr/bin/ant

Come risolvo?

Cioè mi pare di capire che il sistema indicizza tale cartella per ant, che risulta essere vecchio, invece dell'ant che ho scaricato. Ho aggiornato tutti i pacchetti del sistema ma il problema rimane. Dovrei "dire" al sistema di "guardare" nella cartella che ho messo nella home, cosa che credevo di aver fatto con le variabili d'ambiente.Probabilmente sono sbagliate..
« Ultima modifica: 12 Novembre 2011, 19:07:26 CET da Elmvor »

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Tool Ant per il build
« Risposta #5 il: 12 Novembre 2011, 20:04:08 CET »
0
Allora hai solo Ant della tua distribuzione, non hai nessun altro Ant visibile dal PATH.

Ti consigli di aggiornare il tuo sistema se possibile altrimenti leggi bene come installare Ant in una cartella locale senza toccare assolutamente nessun percorso di sistema.

Comunque per un principiante è meglio iniziale con Eclipse. Ant serve per build molto veloci da linea di comando o per passare parametri particolari ai vari tool di Android, cosa non prevista dal plugin di Eclipse.
adb logcat | tee /tmp/logcat | grep TAG

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Tool Ant per il build
« Risposta #6 il: 12 Novembre 2011, 20:08:40 CET »
0
Ma il mio sistema è aggiornato  o_O

Ogni guida che trovo esegue dei procedimenti diversi. Una metteva il tutto nella cartella usr/local e impostava il path li, per farlo ho sputtanato il sistema che non partiva più.

Non toccare i percorsi di sistema significa non modificare le variabili d'ambiente? Guarda, in tutte le guide viste vanno sempre a modificare le variabili d'ambiente, solo che non capisco il criterio. Non c'è un modo per dire al sistema di utilizzare e basta quello che ho scaricato io? >.>

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Tool Ant per il build
« Risposta #7 il: 12 Novembre 2011, 20:23:57 CET »
0
Sto seguendo l'ennesima guida, la incollo qui:
Citazione

Step 1:
Download ant from Apache Ant - Binary Distributions. I have downloaded apache-ant-1.7.1-bin.zip for this tutorial.

Step 2:

Login to your Linux box and create a directory "ant" under /usr/local.

[root@RoseIndiaLinux local]# mkdir ant
[root@RoseIndiaLinux local]# cd ant
[root@RoseIndiaLinux ant]# pwd
/usr/local/ant
[root@RoseIndiaLinux ant]#

Step 3:

Copy apache-ant-1.7.1-bin.zip onto your Linux box in  /usr/local/ant directory.

Step 4:

Extract the zip file apache-ant-1.7.1-bin.zip) using unzip command.

[root@RoseIndiaLinux ant]# unzip apache-ant-1.7.1-bin.zip

above command will extract the content of the zip file and will create a new directory apache-ant-1.7.1

Step 5:

Set path in the .bash_profile

Open the file /root/.bash_profile and add the following codes:

export ANT_HOME=/usr/local/ant/apache-ant-1.7.1
export JAVA_HOME=/opt/java/jdk1.6.0_06
export PATH=${PATH}:${ANT_HOME}/bin

Step 6:

Logout and login again to your Linux box. Now ant available on your box.

Sono arrivato al passo 4. Al passo 5 non spiega cos'è quel coso JAVA_HOME, nel mio pc non esiste un percorso /opt/java/jdk1.6.0_06 quindi nemmeno provo a metterla come variabile perché già so che non funzionerebbe.

Però so questo:

java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.9) (6b20-1.9.9-0ubuntu1~10.04.2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

Aggiornamento.

Ho provato ad aggiungere quelle variabili d'ambiente al file bashrc per vedere che succede. Come sospettavo ecco il risultato all'esecuzione di ant -->

touch me: ant -version
Error: JAVA_HOME is not defined correctly.
  We cannot execute /opt/java/jdk1.6.0_06/bin/java
« Ultima modifica: 12 Novembre 2011, 20:33:18 CET da Elmvor »

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Tool Ant per il build
« Risposta #8 il: 12 Novembre 2011, 21:24:36 CET »
0
Quello che mi chiedo io é, perché non usi direttamente il tool automatizzato? xD
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Tool Ant per il build
« Risposta #9 il: 13 Novembre 2011, 08:33:01 CET »
0
Perché all'università non insegnano a programmare direttamente con Eclipse ma si inizia dal blocco note, compilando
da terminale? >.>

Voglio imparare tutto, il libro spiega cosa fa ant ed utilizza ant prima col terminale, la spiegazione con eclipse arriva dopo. Vi prego aiutatemi ad aggiustare sto coso XD

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Tool Ant per il build
« Risposta #10 il: 13 Novembre 2011, 09:36:07 CET »
0
Non hai una distribuzione di Linux recente e aggiornata visto che è installato Ant 1.7.1.

Se ti dico di non toccare i percorsi di sistema significa di non installare nessun programma in percorsi tipo "/usr" ma di usare cose tipo "/usr/local" o "/opt" non di non modificare le variabile ambiente (altrimenti di avrei detto la seconda).

Il tuo non è un problema con Android ma di interpretare bene le istruzioni per installare un programma sotto Linux.

JAVA_HOME è la variabile ambiente che punta alla home del JDK di Java, se non è specificata viene usata quella di default.

Ripeto per un principiante consiglio di Iniziare con Eclipse, dopo con maggiore esperienza puoi passare a Ant per cose particolari,

adb logcat | tee /tmp/logcat | grep TAG

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Tool Ant per il build
« Risposta #11 il: 13 Novembre 2011, 13:26:02 CET »
0
Ok ho capito, infatti ho messo apache-ant nella cartella usr/local/ant. Non mi rimane altro da fare che impostare BENE le
variabili d'ambiente. Per apache-ant penso sia ok. Devo aggiustare il path per java. Come faccio a sapere il path dove java è installato?
Non fatemi più discorsi che devo usare prima Eclipse please XD

All'università prima ci hanno insegnato a programmare totalmente una coda, una lista, una pila, ecc.. (che è più complicato), solo IN SEGUITO ci hanno detto: "ragazzi esistono già delle classi che implementano le strutture dati suddette, importate java.util.* ecc.. ecc..)

Ps:

la versione di linux è --> Description:   Ubuntu 10.04.3 LTS

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Tool Ant per il build
« Risposta #12 il: 13 Novembre 2011, 14:07:52 CET »
0
Per sapere il path del comando java è uguale a prima per il comando ant:

$> type java

di solito è un link simbolico verso il JDK.

Le distribuzioni che derivano dalla Debian, quindi Ubuntu, hanno il comando update-java-alternatives (da root) per impostare la versione di Java di default, si consiglia di usare la 1.6 Sun (altrimenti la 1.5 Sun), cose come Java 1.7 o gcj o OpenJDK non sono sopportate da Android.

Ubuntu 10.04.3 LTS è datata 29-04-2010 quindi ha più di un anno e non si può considerare recente.
adb logcat | tee /tmp/logcat | grep TAG

Offline Elmvor

  • Utente normale
  • ***
  • Post: 166
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 14.04, Windows 8.1
Re:Tool Ant per il build
« Risposta #13 il: 13 Novembre 2011, 14:30:39 CET »
0
Ce l'ho fatta  :'(

Il path di java non l'ho proprio impostato, ecco il risultato del build da terminale <3

Citazione
touch me: ant debug
Buildfile: /home/loris/Scrivania/workspace-android/HelloAndroid/build.xml

-set-mode-check:

-set-debug-files:

-set-debug-mode:

-debug-obfuscation-check:

-setup:
     [echo] Gathering info for HelloAndroid...
    [setup] Android SDK Tools Revision 15
    [setup] Project Target: Android 3.0
    [setup] API level: 11
    [setup]
    [setup] ------------------
    [setup] Resolving library dependencies:
    [setup] No library dependencies.
    [setup]
    [setup] ------------------
    [setup]
    [setup] WARNING: No minSdkVersion value set. Application will install on all Android versions.

-build-setup:
     [echo] Creating output directories if needed...
    [mkdir] Created dir: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/res
    [mkdir] Created dir: /home/loris/Scrivania/workspace-android/HelloAndroid/gen
    [mkdir] Created dir: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/classes

-pre-build:

-code-gen:
     [echo] ----------
     [echo] Handling aidl files...
     [aidl] No aidl files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
[renderscript] No renderscript files to compile.
     [echo] ----------
     [echo] Handling Resources...
     [aapt] Generating resource IDs...

-pre-compile:

-compile:
    [javac] /home/loris/Scrivania/android-sdk/tools/ant/build.xml:600: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 2 source files to /home/loris/Scrivania/workspace-android/HelloAndroid/bin/classes

-post-compile:

-obfuscate:

-dex:
      [dex] Converting compiled files and external libraries into /home/loris/Scrivania/workspace-android/HelloAndroid/bin/classes.dex...

-crunch:
   [crunch] Crunching PNG Files in source dir: /home/loris/Scrivania/workspace-android/HelloAndroid/res
   [crunch] To destination dir: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/res
   [crunch] Crunched 0 PNG files to update cache

-package-resources:
     [aapt] Creating full resource package...

-package:
[apkbuilder] Creating HelloAndroid-debug-unaligned.apk and signing it with a debug key...

-do-debug:
 [zipalign] Running zip align on final apk...
     [echo] Debug Package: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/HelloAndroid-debug.apk

debug:
[propertyfile] Creating new property file: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/build.prop
[propertyfile] Updating property file: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/build.prop
[propertyfile] Updating property file: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/build.prop
[propertyfile] Updating property file: /home/loris/Scrivania/workspace-android/HelloAndroid/bin/build.prop

BUILD SUCCESSFUL
Total time: 7 seconds

SssiiiiiiiiIIIII!  ;-)

Offline UnPiccione93

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Ace
  • Sistema operativo:
    Ubuntu 11.10, Windows 7 x64 HP
Re:Tool Ant per il build
« Risposta #14 il: 01 Febbraio 2012, 19:01:52 CET »
0
ciao ragazzi.. ho lo stesso problema, sto leggendo lo stesso libro e non riesco proprio a capire come utilizzare ant.. (windows) ho creato il progetto col comando da terminale
android create project --package it.apogeo.android.cap02.helloandroid --activity HelloAndroid --target 1 -- path C:\\workspace_cap02\HelloAndroid   ...
ho scaricato ant dal sito.. dove metto l'archivio? come faccio a farlo funzionare da dos? la path del dos è c:\\android\android-sdk-windows\tools... grazie anticipatamente a tutti :)