Autore Topic: importare propia libreria in un progetto android  (Letto 2882 volte)

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
importare propia libreria in un progetto android
« il: 20 Luglio 2012, 17:46:56 CEST »
0
ciao ragazzi ho realizzato un jar contenente la mia libreria realizzata.
Per rendere disponibili al mio progetto android le funzioni di libreria su eclipse clicco col destro sul progetto
premo propietà
vado su java buildpath
clicco su add external jars e seleziono il mio jar.
quando nella mia attività cerco di chiamare una funzione dichiarata nel jar il compilatore mi segnala errore, e nei suggerimenti non c è l'import
di libreria.
Con il medesimo meccanismo che ho usato per importare la mia libreria nel progetto android, usato in un progetto java non ho problemi.
In progetti android va usato un meccanismo diverso ?

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:importare propia libreria in un progetto android
« Risposta #1 il: 20 Luglio 2012, 17:59:09 CEST »
+1
Il metodo che hai descritto serve se utilizzi l'ambiente della Oracle (prima Sun) di Java, da non fare assolutamente, puoi rendere il progetto in-compilabile dai tool di Android. Android non funziona come il JDK-SE utilizza un proprio metodo chiaramente descritto nella documentazione ufficiale:

Managing Projects from Eclipse with ADT | Android Developers

Se hai solo la libreria .jar ma non il progetto di Eclipse devi copiarla nella directory "libs" (con la s finale) del progetto:

Managing Projects | Android Developers
adb logcat | tee /tmp/logcat | grep TAG

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:importare propia libreria in un progetto android
« Risposta #2 il: 23 Luglio 2012, 18:13:56 CEST »
0
Essendo io l autore della libreria ho sia il progetto java che il jar della libreria.
Cosa mi consigli di fare ? includere il progetto nel progetto android o il jar ?

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:importare propia libreria in un progetto android
« Risposta #3 il: 23 Luglio 2012, 18:23:36 CEST »
0
E' meglio include il progetto nel workspace, vedi i sorgenti e se serve gli modifichi direttamente.
adb logcat | tee /tmp/logcat | grep TAG

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:importare propia libreria in un progetto android
« Risposta #4 il: 23 Luglio 2012, 19:10:41 CEST »
0
scusa ho un problema, seguendo la doc ufficiale :
Citazione
    1 In the Package Explorer, right-click the dependent project and select Properties.
    2 In the Properties window, select the "Android" properties group at left and locate the Library properties at right.
    3 Click Add to open the Project Selection dialog.
    4 From the list of available library projects, select a project and click OK.
    5 When the dialog closes, click Apply in the Properties window.
   6  Click OK to close the Properties window.

punto 3 , quando clicco su add  mi si apre una finestra con scritto Project Selection, solo che non mi fa fare nulla ( ne cercare un progetto, ne me ne mostra uno)
sai come mai ?
allego lo screen !

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:importare propia libreria in un progetto android
« Risposta #5 il: 23 Luglio 2012, 19:43:28 CEST »
0
Hai configurato il progetto come Library Project?

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:importare propia libreria in un progetto android
« Risposta #6 il: 23 Luglio 2012, 19:51:08 CEST »
0
il problema è come faccio un progetto java a configurarlo come library project ?
ho visto che è possibile far diventare un android project un library project, ma un semplice java project ( la mia libreria) come faccio ?

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:importare propia libreria in un progetto android
« Risposta #7 il: 23 Luglio 2012, 20:02:46 CEST »
0
Dallo screenshot ho notato che eri nella sezione Android -> Library, per quello credevo si trattasse di un progetto Android.

Per un progetto Java non saprei, mi son sempre servito dei jar per quello.

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:importare propia libreria in un progetto android
« Risposta #8 il: 23 Luglio 2012, 20:48:22 CEST »
0
Prima di tutto Java è un linguaggio di programmazione, tu hai una libreria scritta per JRE di Oracle. Devi stare attento, non devi chiamare nessuna classe non presente nel framework di Android, altrimenti è impossibile compilare.

Se hai una libreria che rispetta il vincolo precedente o copi il file .jar nella directory "libs" o se hai voglia e tempo crei un nuovo progetto Android con il flag Library attivo e copi tutti i sorgenti per avere un progetto Android valido.



adb logcat | tee /tmp/logcat | grep TAG

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:importare propia libreria in un progetto android
« Risposta #9 il: 24 Luglio 2012, 08:55:10 CEST »
0
io ho fatto cosi, ho creato un android project con il flag library e ci ho copiato tutte le librerie. è un po sprecato xche ci sono un sacco di cartelle( res laytout,,,) inutilizzate perche ripeto la mia libreria è una libreria java senza niente di android pero cosi funziona

Offline n3tmaster

  • Utente junior
  • **
  • Post: 96
  • Respect: 0
    • Google+
    • lerocchi
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4 - Nexus 7 - PadFone JB
  • Sistema operativo:
    Mac OSX 10.7
Re:importare propia libreria in un progetto android
« Risposta #10 il: 29 Agosto 2012, 10:17:46 CEST »
0
Se hai creato una tua libreria (come JAR) sotto l'ambiente di sviluppo android puoi includerla nel tuo progetto semplicemente spostando il JAR dentro la cartella lib del tuo progetto (se non te l'ha creata lui creala te). Automaticamente l'ambiente di sviluppo per Android ti interpreterà quel jar come liberia, ti esporterà classi e metodi pubblici e te la includerà nel tuo APK.

Io ho fatto così e funziona :)
Leandro Rocchi
Software Developer - Geodatabase Designer

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:importare propia libreria in un progetto android
« Risposta #11 il: 29 Agosto 2012, 10:42:08 CEST »
0
Citazione
Se hai creato una tua libreria (come JAR) sotto l'ambiente di sviluppo android puoi includerla nel tuo progetto semplicemente spostando il JAR dentro la cartella lib del tuo progetto
Attenzione che dalla versione 17 di ADT il nome della cartella deve essere libs affinchè la cosa funzioni  ;-)

Offline n3tmaster

  • Utente junior
  • **
  • Post: 96
  • Respect: 0
    • Google+
    • lerocchi
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4 - Nexus 7 - PadFone JB
  • Sistema operativo:
    Mac OSX 10.7
Re:importare propia libreria in un progetto android
« Risposta #12 il: 29 Agosto 2012, 10:43:14 CEST »
0
ops...volevo scrivere libs infatti, non lib XD XD
Leandro Rocchi
Software Developer - Geodatabase Designer