Come escludere un file jar dal mio objective di generazione della libreria Android

Sto utilizzando Android Studio e sono dotate di diverse applicazioni che contano sullo stesso codice. Ho spostato il codice condiviso in una libreria separata per includerlo nelle mie applicazioni.

Il progetto di libreria ( MyLib ) che ho creato per questo scopo richiede un file jar da compilare, quindi l'ho aggiunto alla directory libs del progetto.

  • Errore TextInputLayout dopo il valore di inserimento in edittext
  • mostrare la window di avanzamento sul webview
  • Android camera2 api galaxy s7
  • Android non può ricevere il pacchetto multicast
  • AndEngine errore nel caricamento della libreria
  • Confronta due suoni in Android
  • Il mio build.gradle del module principale di MyLib ha questo aspetto:

     apply plugin: 'com.android.library' android { compileSdkVersion 21 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.example.android" minSdkVersion 9 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { } } } dependencies { compile files('./libs/external-java-lib.jar') } 

    Quando costruisco il progetto, gradle genera un file jar che contiene external-java-lib.jar .

    Voglio che i miei progetti di applicazioni Android forniscano "external-java-lib.jar", non il MyLib. Perché nelle mie applicazioni posso usare diverse versioni di external-java-lib.jar .

    Come posso configurare Gradle per escludere external-java-lib.jar dalla creazione del mio progetto di libreria?

    Non riuscivo a trovare la risposta alla mia domanda in networking, quindi ho la sensazione che la cosa che voglio è un pezzo di cattivo design. Cos'altro posso fare?

    Grazie in anticipo.

  • Errore di memory fuorioutput quando si utilizza AnimationDrawable
  • Le preferenze libgdx di Android non funzionano
  • Come intercettare events di contatto da ViewPager.OnPageChangeListener
  • Quando chiudere la connessione db su android? Ogni volta che la tua operazione è terminata o dopo l'output dell'app
  • Messaggi di codifica dei caratteri con Android + GAE Cloud Endpoints
  • Aumenta la dimensione del carattere in base alla dimensione del dispositivo
  • 3 Solutions collect form web for “Come escludere un file jar dal mio objective di generazione della libreria Android”

    Ho finalmente risolto il mio problema.

    Nel mio progetto della biblioteca ho aggiunto un altro module di librerie vuote e ho spostato external-java-lib.jar nella cartella libs .

    Nel build.gradle del module principale ho aggiunto la dipendenza:

     dependencies { compile project(':libraries') } 

    La mia struttura di directory è ora:

     MyLibrary ├── build.gradle ├── gradle.properties ├── main │  ├── build.gradle │  └── src │  └── main │  ├── AndroidManifest.xml │  ├── java ... │  └── res ... ├── libraries │  ├── build.gradle │  ├── libs │  │  ├── external-lib-1.jar │  │  └── external-lib-2.jar │  └── src │  └── main │  ├── AndroidManifest.xml │  ├── java ... │  └── res ... └── settings.gradle 

    Dopo aver costruito la libreria, l'output aar-package non era dotato external-java-lib.jar . Quindi, questo è esattamente quello che voglio.

    Se non utilizzi proguard allora puoi semplicemente utilizzare il tag fornito

     dependencies { provided files('./libs/external-java-lib.jar') } 

    non so di android studio, ma il suo facile in eclipse, in eclipse fare clic destro sul progetto-> properties-> java build path where ci sono librerie e java build path. Lì è ansible escludere o includere file.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.