2015-06-11 9 views
8

Ho una versione abbastanza recente di Android Studio, ho creato un modulo sotto un progetto che fondamentalmente dovrebbe essere una libreria, quando lo costruisco, crea un ".aar "file, quello che voglio è il file .jar dato che questa libreria dovrebbe essere usata anche con eclipse.come creare un file jar da Android studio

La libreria contiene anche attività, esiste un modo in cui posso creare un file .jar che possa essere utilizzato su Eclipse e anche su Android Studio?

Ho già creato questo modulo e ho provato a creare, di conseguenza ha generato file .aar e non un file .jar.

+0

vedere questo link è possibile comprendere http://stackoverflow.com/questions/21712714/how-to-make-a-jar-out-from-an-android-studio-project – Hanuman

+0

@Allu hanno visto che il collegamento l'utente vuole creare jar per il suo codice java e non per intero modulo, nel mio caso ho anche risorse –

+1

Non è possibile raggruppare le risorse in un JAR. Questo è ciò che i file AAR sono qui per. – shkschneider

risposta

0

Attualmente le build basate su gradini non sembrano consentire la creazione di jar con Android Studio, ho deciso di andare su Intelij, ha l'opzione necessaria e fa quello che voglio, posso usare la community edition.

*** Aggiornamento **** Anche il barattolo prodotto da Intelij con le risorse non funziona, ovviamente non è facile avere un vaso con risorsa, quindi ha deciso di optare per .aar e sperando che anche Eclipse supporto per .aar quando gradle sostiene le terre lì, poiché quella era la mia preoccupazione principale.

+0

Trovato un modo che funziona per me (come da Gradle 2.2.1), vedere la mia nuova risposta. – shkschneider

1

aar non è legato alla AS o eclissi, ma è una Un ndroid AR erba cipollina per le applicazioni Android come J ava AR erba cipollina sono per le applicazioni Java. Poiché Android è basato su Java, è possibile utilizzare i jar. Ma per tenere conto delle specialità di Android, come i pacchetti di risorse, un aar è la cosa giusta da usare.

7

ho trovato un modo per raggiungere questo obiettivo, semplice semplice, utilizzando Gradle 2.2.1:

task jar(type: Jar, dependsOn: 'assembleRelease') { 
    from fileTree(dir: 'build/intermediates/classes/release') 
} 

Posto questo nel vostro modulo di libreria. Lo compilerà come rilascio e produrrà un file JAR in: build/libs.

bash gradlew jar oppure utilizzare l'IDE per indirizzare il compito di Gradle jar.

+0

come aggiungere le risorse? e qualche lib di terze parti? –

+0

I file JAR * non possono * incorporare risorse. Questo è il motivo per cui i file AAR esistono. E immagino che le librerie di terze parti siano anche JAR ... Questo risponde veramente alla tua domanda specifica IMHO. Il resto richiederebbe un file AAR (hanno * hanno * una ragione per esistere). – shkschneider

+0

Vorrei aver letto attentamente la mia domanda quindi :) ho un'attività significa risorse anche. –