Come convertire apklib in aar

Poiché Gradle non support dependencies apklib come si può migrare dalle dependencies aar alle dependencies? È ansible convertire manualmente o automaticamente la dipendenza da aar ? Se sì – come, se no – perché no?

In questa domanda suppongo che non ho un progetto originale per apklib , ma piuttosto il file stesso.

  • inserire image sqlite
  • ErrnoException: isConnected non riuscito: EHOSTUNREACH (nessun path da ospitare) quando si modifica la networking wifi utilizzando ICS
  • Grandi set di dati con ArrayAdapter e ListView in Android
  • Come posso trovare la velocità utilizzando solo accelerometri?
  • Come accedere al database quando si sviluppa sul telefono Android?
  • Android - Modifica valore in strings.xml
  • Come impostare AlarmManager ricorrente per eseguire il codice quotidianamente
  • C'è un modo per verificare se una firma di un'applicazione è debug o pubblicata?
  • Il tipo di diamante non è supportto a questo livello di lingua
  • Bugs TabActivity in ActivityGroup per bambini
  • Android java.io.File.listFiles () non funziona correttamente in Environment.getDataDirectory ()
  • L'aggiornamento di Android SQLite non funziona
  • 2 Solutions collect form web for “Come convertire apklib in aar”

    apklib non contiene file di object, solo file di origine, quindi l'unico modo che può essere incluso in qualsiasi progetto è ricompilarlo. Secondo alcuni documenti è ansible leggere:

    Dipendenze Android: apklib vs file aar e https://plus.google.com/+ChristopherBroadfoot/posts/7uyipf8DTau

    Il formato apklib è stato inventato come un modo per condividere le risorse + codice Android. È essenzialmente un progetto di libreria Android, che era già lo status quo per la condivisione di codice e risorse.

    E potete vedere nel post di Chris Broadfoot che l'attività che genera l'apklib solo zippa il file AndroidManifest.xml e le directory src e res :

     task apklib(type: Zip) { appendix = extension = 'apklib' from 'AndroidManifest.xml' into('res') { from 'res' } into('src') { from 'src' } } 

    Si noti che il suo post è circa la creazione di un apklib da Gradle, che è una cosa leggermente strana da fare, ma fornisce un'idea abbastanza chiara di come una di queste cose sia strutturata.

    La buona notizia è che questa è la struttura standard del progetto Android a partire da quando Eclipse è l'IDE primario e Android Studio sa importre moduli che sembrano così. Quindi seguire questi passaggi:

    1. Disimballare il tuo apklib in una directory temporanea. È in formato zip, quindi qualcosa come unzip library.apklib dovrebbe funzionare.

    2. Guarda cosa è scompattato. Dovresti vedere una directory contenente le cartelle di AndroidManifest.xml , src e res .

    3. In Android Studio, all'interno di un progetto esistente, scegliere File> Import module e indicarlo nella directory dal passaggio 2.

    4. Android Studio dovrebbe gestire l'importzione copiando i file nel progetto in un nuovo module, organizzandoli nella struttura di directory preferita e aggiungendo un file build.gradle per il module.

    5. A questo punto sei in esecuzione. Se si desidera effettivamente il file .aar , quindi verificare se il nuovo module è impostato come module di libreria o module di applicazione. Nel suo build.gradle , se hai apply plugin: 'com.android.library' allora è un module di libreria e Gradle genera un .aar come parte della build: sarà nella build/outputs/aar dopo una creazione di successo.

    6. Se il tuo module viene importto come module di app e non una libreria ( apply plugin: 'com.android.application' , quindi modifica che apply plugin istruzione apply plugin e potrebbe anche essere necessario rimuovere l'istruzione applicationId dal file di build. come biblioteca e generare un .aar .

    7. Buon codice!

    Non puoi convertire l'apklib in aar. Devi aggiornare manualmente le dependencies per indicare un file aar. L'aar viene compilato e contiene le regole di lanugine e proguard che l'apklib non può determinare necessariamente automaticamente.

    È ansible leggere un po 'più sulle differenze qui:

    Dipendenze Android: apklib vs file aar

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