Autore Topic: best practice riguardo gestione moduli librerie condivise  (Letto 425 volte)

Offline stranigiorni

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Google+
    • matteogabella
    • Mostra profilo
    • stranigiorni
  • Dispositivo Android:
    bird v1277
  • Play Store ID:
    Matteo+Gabella
  • Sistema operativo:
    win8
best practice riguardo gestione moduli librerie condivise
« il: 30 Gennaio 2015, 00:15:54 CET »
0
ciao a tutti, come molti sto switchando da Eclipse ad AS... e devo dire che credevo fosse più facile;)
devo ancora iniziare a scrivere codice, per ora sono ancora bloccato su come organizzare i miei direttori e le librerie condivise... scrivo questo post per chiedervi un po' di consigli, qualora qualcuno lo avesse già fatto...

in eclipse avevo alcune librerie condivide (ABS, appRate, ecc) che collegavo via via ai vari workspaces, senza duplicarle

in Android Studio mi sembra di capire che questo non si possa fare… se importo il modulo libreria nel mio progetto, lui se lo copia dentro

a questo punto quali scenari si aprono?

-   Duplicazioni sorgenti librerie. Anche no.

-   Compilo .aar o prendo quello compilato da altri, lo metto nelle libs del modulo applicazione e devo poi modificare a mano il file build.gradle per farlo riconoscere

-   In caso di librerie con sorgenti remoti (GIT, ecc) posso forse fare in modo che il mio modulo applicazione le referenzi direttamente… ma come? Devono essere pubblicate su qualche repository Maven?
io volevo includere questa, ad esempio… https://github.com/ozodrukh/CircularReveal

Qualche idea? O best practice?
Grazie!
Matteo

Offline tonno16

  • Utente storico
  • *****
  • Post: 1224
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:best practice riguardo gestione moduli librerie condivise
« Risposta #1 il: 30 Gennaio 2015, 09:42:27 CET »
0
ti faccio un piccolo esempio.

Guarda qui https://github.com/markushi/android-circlebutton

nella "guida" hai  dependecies { compile 'com.github.markushi:circlebutton:1.1' }

Basta che aggiungi quella riga al file .gradle del tuo progetto.

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:best practice riguardo gestione moduli librerie condivise
« Risposta #2 il: 30 Gennaio 2015, 19:11:13 CET »
0
Io tengo tutto nel mio repository.
Ho una cartella progetto con tutti i progetti, ed altre cartelle parellele con delle librerie.

In particolare in un progetto ho messo:

settings.gradle
Codice (XML): [Seleziona]
include ':altimeter', ':ArLabsUtils'

project(':ArLabsUtils').projectDir = new File(settingsDir, '../../common/ArLabsUtils')

Lui crea comunque una cartella ArLabsUtils dove mette il solo file .iml (che sarà duplicato per tutti i progetti, ma non ci interessa perché viene generato automaticamente)
Tutto il resto (sorgenti e file gradle) sono nella cartella ../../common/ArLabsUtils

Ciao.

Offline stranigiorni

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: 0
    • Google+
    • matteogabella
    • Mostra profilo
    • stranigiorni
  • Dispositivo Android:
    bird v1277
  • Play Store ID:
    Matteo+Gabella
  • Sistema operativo:
    win8
Re:best practice riguardo gestione moduli librerie condivise
« Risposta #3 il: 03 Febbraio 2015, 15:51:17 CET »
0
grazie ad entrambi!!

@tonno16
nel mio caso non si può fare come nell'esempio che riporti, poichè la libreria che voglio includere non è pubblicata in un repository remoto (mavenCentral())

@arlabs
grazie, ho provato come dici ed effettivamente crea il file .iml
poi come faccio a referenziarlo?

così, ad esempio? mettendo nel build

dependencies
{
    compile project(':altimeter')
}

ciao e grazie!

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:best practice riguardo gestione moduli librerie condivise
« Risposta #4 il: 03 Febbraio 2015, 17:23:05 CET »
0
Esatto, lo aggiungi alle dipendenze con "compile project".

Ciao.