2014-06-10 12 views
6

Come caricare un file jar dalla cartella di risorse dell'applicazione Android durante il runtime. Il caricamento dalla cartella delle risorse è il mio requisito. C'è un modo per fare questo. Per favore aiuto ..Come caricare un JAR dalla cartella Assets in fase di esecuzione

+0

Vuoi dire che si desidera caricare un file jar che non è stato legato al momento della compilazione, quando hai costruito l'apk? I file jar –

+0

saranno disponibili sulle risorse durante la compilazione. Ma voglio caricarlo dalla cartella delle risorse durante il runtime in base ai requisiti. non tutti i barattoli avevano bisogno di tutto il tempo. Voglio implementare un meccanismo come aggiungere giare all'applicazione come aggiungere diversi plugin – AndEngine

+0

Non possibile, Android usando dalvik non normale jvm ... Si prega di utilizzare la prossima volta google per trovare altra opzione sono abbastanza sicuro che si trattava di un articolo sui blog degli sviluppatori Android come usa il caricamento binario dinamico – Selvin

risposta

5

Ho ottenuto la risposta. Sto aggiungendo questa risposta qui. Perché questo potrebbe essere utile per alcuni altri alla ricerca.

Ci sono dei passaggi per farlo.

  1. È necessario creare una copia del file JAR nella memoria interna privata della propria applicazione.

    1. Utilizzando l' strumento dx all'interno della cartella di Android, è necessario generare un file classes.dex associato al file JAR. Lo strumento dx sarà nella posizione /android-sdks/build-tools/19.0.1 (questo file è necessario per il Dalvik VM, semplicemente vaso non può essere letto dal Dalvik VM))

    2. Utilizzando il comando dello strumento aapt che si trova anche nella stessa posizione, è necessario aggiungere il classes.dex al file JAR.

    3. Questo file JAR può essere caricato dinamicamente utilizzando DexClassLoader.

    4. Se si sta creando un JAR da una libreria qualsiasi, è necessario eseguire questa procedura (1-4) ogni volta che si verifica una modifica del codice sorgente della libreria. Quindi puoi automatizzare questa procedura creando uno script di shell (in Mac/Linux/Ubuntu) o script batch (in Windows). Puoi refere questo link per capire come scrivere script di shell.

Nota: Una situazione per l'attuazione di questo metodo è, quando non è possibile aggiungere i file JAR direttamente al percorso di generazione del progetto di base e devono essere caricati in modo dinamico in fase di esecuzione. In casi normali i file JAR potrebbero essere aggiunti al percorso di generazione.

Si prega di controllare questo link per il codice dettagliato e l'implementazione.

How to load a jar file at runtime

Android: How to dynamically load classes from a JAR file?

+0

lo hai provato? non funzionerà in quanto le classi in jar non sono in formato dalvik ... e i tuoi collegamenti mostrano solo 1) come farlo in normale java 2) come caricare la classe che è già parte del framework ... – Selvin

+0

funziona. e questo è quello che sto cercando. I file jar saranno disponibili in Risorse prima di crearli in apk. – AndEngine