2012-07-24 23 views
9

Quindi, ho una piccola libreria C. Voglio rendere questa libreria disponibile ad altri sviluppatori che sviluppano codice C nativo in Android (altre librerie, app native, ecc.).come sviluppare/portare una libreria C nativa su Android?

Qual è il modo migliore per andare? Non ho ancora molto indizio, cercando di capire tutto questo.

Ho letto che ci sono due percorsi da percorrere con NDK: utilizzando Android.mk e utilizzando create-standalone-toolchain - è corretto? Come funziona ciascuno di questi? C'è una terza via senza NDK e dovrebbe essere utilizzata ora che NDK è disponibile?

** Questo potrebbe essere stato chiesto prima, ma capisco le cose sono cambiate dal rilascio del NDK, come molti messaggi che trovo sembrano obsoleti.

+1

Per chiarire la domanda, probabilmente la terza frase dovrebbe essere: "Ho leggi che ci sono due percorsi da seguire con NDK: usare 'Android.mk' e usare' create-standalone-toolchain' - è corretto? " – CommonsWare

+0

@CommonsWare thx! –

+0

Che ne dici di mono: http://xamarin.com/monoforandroid? –

risposta

10

questa domanda può avere una risposta enorme, cercherò di essere il più breve possibile.

  1. Utilizzando l'NDK Android, fare un nuovo progetto Android, creare una cartella JNI, e creare un file Android.mk, in esso, fare due librerie, una delle quali la vostra lib, esportati come lib condivisa e la altro, un jniwrapper che lo metterà alla prova. Here è un esempio di come è stato fatto da un ragazzo per la sua stessa lib.

  2. si può fare un lib condivisa dalla compilazione con la toolchain standalone, here è un articolo sul tema e anche dare un'occhiata al curl Readme for android, spiega come compilare ricciolo per Android utilizzando la toolchain standalone, credo che sia il modo migliore per farlo, e anche per voi più facile dal momento che userete il cross-compiler in una fasion regolare ...

Problemi correlati