2016-05-04 21 views
9

Sto cercando di generare un Xamarin Binding per Android com.adobe.creativesdk.image bibliotecaCome generare l'associazione Xamarin per AAR con molte dipendenze?

Il problema è che questa biblioteca contiene come 20 riferimenti e questi riferimenti per assicurarsi contiene molto di più. Dovrei esplorare l'intero albero ed estrarre tutti i riferimenti per aggiungerli al progetto vincolante.

Di sicuro ci deve essere un modo più semplice per farlo. Mi è stato detto che avrei potuto creare un pacchetto AAR che includesse tutti i riferimenti utilizzando Android Studio, ma non sono sicuro dei passaggi necessari per farlo funzionare. Alcuni dei riferimenti sono anche AAR.

Potresti per favore indicarmi il percorso corretto per far funzionare questo binding?

+0

hai provato come questo http://stackoverflow.com/questions/24309950/create-aar-file-in-android-studio – Ankur1994a

+0

Ankur1994a: Ho paura di non vedere come ciò aiuta. Potresti spiegare per favore? –

risposta

1

Ho avuto lo stesso problema e alla fine l'ho risolto aggiungendo semplicemente le dipendenze. Molti possono essere aggiunti tramite i pacchetti NuGet (fai clic con il tasto destro su bindingproject e fai clic su aggiungi pacchetti nuget ...), i più comuni come i servizi di riproduzione, gson okhttp3 ecc. Possono essere trovati qui. Se tu, come me, avessi alcune dipendenze non comuni, potresti doverle aggiungere come progetti vincolanti.

Ho letto che è possibile aggiungere direttamente la dipendenza aar/jar al bindingproject e impostare l'azione build su referenceJar o embeddedReferenceJar, ma questo non ha funzionato per me. Sono relativamente nuovo per xamarin quindi non sono sicuro che non sia proprio il modo in cui è destinato a essere usato o se fosse perché non potrebbero essere automaticamente associati a causa di errori di esecuzione (ho ricevuto alcuni errori e avvertenze che avevo bisogno di correggere nel metafile quando in seguito ho aggiunto il barattolo di dipendenza/aar nel proprio bindingsproject). Indipendentemente da ciò, il modo in cui ho avuto modo di funzionare è stato aggiungendo un nuovo bindingsproject alla soluzione, in cui ho aggiunto il barattolo di dipendenza/aar e poi lo ho compilato e aggiunto le righe/nodi necessari nel metafile per renderlo compilato . Quindi ho semplicemente aggiunto il progetto "dipendenza dall'associazione" come riferimento nel mio attuale bindingsproject.

Questo sembra più una soluzione alternativa che una soluzione reale, ma almeno ho potuto farlo funzionare, quindi spero che possa aiutarti.

1

Le librerie di binding hanno sempre i loro Caveat, ma ho intenzione di fare un po 'di generalizzazione per aiutarti a organizzarti.

  1. Controllare le dipendenze interessate e se qualcuno di esse è già in uso su Nuget QUELLI. Cose come le librerie di supporto Android, le API di Google Play, gli SDK IBM, ecc. Molti di questi hanno già collegamenti e sono in Nuget.

  2. Non dimenticare di verificare i numeri di versione delle dipendenze rispetto a quelli in Nuget. Forse la tua .arab è in realtà più aggiornata di Binding su Nuget.

  3. Separate grandi librerie. Trova il resto delle tue dipendenze che non sono in Nuget che sono relativamente grandi, quindi crea Progetti separati di Libreria Binding Android per ognuna di esse. Comunemente le API di Binding si distruggono con le librerie di grandi dimensioni come dipendenze, quindi è molto più facile (e IMO più pulito) creare progetti separati per loro, quindi aggiungere riferimenti di progetto alla libreria finale.

  4. Separare il numero jars da aars. Di solito i tuoi file .aar sono quelli grandi che ottengono comunque i propri binding e passano al n. 3, ma le dipendenze jar devono utilizzare le azioni di compilazione ReferenceJar.

  5. Gioca con il tuo MetaData.xml. Questo può richiedere molto tempo, ma le API di Binding non sono perfette. Utilizza lo MetaData e altri file per pulirlo a tuo piacimento.

Alcune altre cose che potrebbero aiutare:

Problemi correlati