Мога ли да създам статична библиотека, чийто основен компонент е заглавен файл (.h) с NDK?

Искам да конвертирам своя cpp код за статична библиотека в библиотека на Android. За това се опитвам да използвам NDK. Но прочетох документацията на NDK и тя каза, че само изходният код може да бъде въведен за изграждане, "Android.mk". Моят въпрос е "Има ли някакъв начин да създам статична библиотека за Android система с моята cpp библиотека?" Най-горният модул на моята cpp библиотека е заглавен файл и може да бъде изграден в Windows система като ".lib".

Благодаря ти!


person Imjae    schedule 28.12.2013    source източник


Отговори (1)


Вашата cpp библиотека трябва да бъде изградена с NDK toolchain като "libyourname.a" за начало. Не се нуждаете от Android.mk за това, въпреки че в много случаи извличането на съвместим със стандартите Android.mk е тривиално и прави живота на програмиста по-щастлив в дългосрочен план (вижте напр. github).

Следващата стъпка трябва да бъде да подготвите динамична библиотека за JNI обвивка (споделен обект, .so), която може да бъде заредена от вашето Java приложение. Този "libyourname_jni.so" вероятно ще има свой собствен, отделен Android.mk файл. Е, Java не е задължителна: можете да използвате NativeActivity или може би някои алтернативни рамки.

Предлагам следното четене, за да разберете целия процес: http://thesoftwarerogue.blogspot.co.il/2010/05/porting-of-libcurl-to-android-os-using.html

person Alex Cohn    schedule 28.12.2013