2012-07-24 15 views
9

Entonces, tengo una pequeña biblioteca de C. Quiero que esta biblioteca esté disponible para otros desarrolladores que desarrollen código C nativo en Android (otras bibliotecas, aplicaciones nativas, etc.).cómo desarrollar/portar una biblioteca C nativa a Android?

¿Cuál es la mejor manera de hacerlo? Realmente no tengo mucha pista aún, tratando de entender todo esto.

He leído que hay dos caminos para ir con el NDK: usar Android.mk y usar create-standalone-toolchain - ¿es correcto? ¿Cómo funciona cada uno de estos? ¿Hay una tercera forma sin el NDK y debería usarse ahora que el NDK está disponible?

** Esto puede haberse preguntado antes, pero entiendo que las cosas han cambiado desde el lanzamiento del NDK, ya que una gran cantidad de publicaciones que encuentro parecen obsoletas.

+1

Para aclarar la pregunta, la tercera frase probablemente debería decir: "He lee que hay dos caminos para ir con el NDK: usar 'Android.mk' y usar' create-standalone-toolchain' - ¿es correcto? " – CommonsWare

+0

@CommonsWare thx! –

+0

¿Qué tal mono: http://xamarin.com/monoforandroid? –

Respuesta

10

Esta pregunta puede tener una respuesta enorme, intentaré ser lo más breve posible.

  1. Utilizando el NDK de Android, crea un nuevo proyecto androide, cree una carpeta JNI, y crear un archivo Android.mk, en ella, hacer dos bibliotecas, una de ellas su lib, exportados como lib y la compartida otro, un jniwrapper que lo probará. Here es un ejemplo de cómo lo hizo un hombre para su propia lib.

  2. se puede hacer una librería compartida al compilar con la cadena de herramientas independiente, here es un artículo sobre el tema y también echar un vistazo a la curl Readme for android, se explica cómo compilar rizo para Android usando la cadena de herramientas independiente, creo que es la mejor manera de hacerlo, y también más fácil para usted, ya que utilizará el compilador cruzado en un fasion normal ...

Cuestiones relacionadas