Sto creando un widget che forniremo agli utenti finali dello sviluppatore e consiste in uno .jar
e una libreria nativa (.so
) creata utilizzando l'NDK. Il JAR ha un'interfaccia JNI per la libreria dinamica.Creazione di un prodotto SDK: come posso aggiungere una lib nativa (.so) e un jar con l'SDK che sto creando?
È molto chiaro su come includere un .jar
esterno in un progetto, ma non su come includere una libreria dinamica dipendente.
Che tipo di imballaggio e costruire il
.jar
e.so
? Quali sono le migliori pratiche qui?Posso creare il file JAR utilizzando il comando jar di JDK. Devo eseguire dx.bat sul jar per convertire in bytecode Dalvik?
Ho bisogno di creare un progetto di esempio che mostri il widget in azione. Come posso includere questo
.jar
e.so
in un progetto di esempio che dimostra come utilizzare il widget?
Questo tipo di ha funzionato. Avevo bisogno di usare la cartella LIBS per il mio JAR ma stavo ottenendo errori di compilazione sui tipi mancanti. Eclipse voleva che "aggiustassi il progetto" aggiungendo il progetto della biblioteca al mio progetto di esempio. Cos'altro posso provare? –
Se si fa riferimento al jar dal progetto di esempio, è effettivamente necessario aggiungere il jar al progetto di esempio, in modo che sappia dove trovare le definizioni dei tipi. Puoi aggiungere una linea direttamente al tuo file .classpath che assomigli a ' ' o vai alla sezione ** Java Build Path ** del tuo progetto proprietà, sotto la scheda ** Librerie ** e aggiungila usando il pulsante ** Aggiungi JAR ... **. –
Sto cercando di includere un file .so nel mio JAR e sto scoprendo che il progetto client non verrà più creato. 'La libreria 'foo.jar' contiene librerie native che non verranno eseguite sul dispositivo. Sono state trovate le seguenti librerie: libs/armeabi/libfoo.so' Secondo l'SDK Tech Lead di Android Xavier Ducrohet, che pesa su [questo thread sul gruppo Google NDK] (http://groups.google.com/group/ android-ndk/browse_thread/thread/bb5bfae006a9c8a2/6aeb6c655b9a4bbd? # 6aeb6c655b9a4bbd) hanno aggiunto un controllo per il codice nativo nei JAR inclusi – Kevin