我有lib的源代碼,我想爲android創建靜態庫。 我該怎麼做?有沒有辦法做到這一點與實驗gradle ?. 另外我想爲不同的拱門(arm7,x86等)構建爲android創建靜態庫lib
1
A
回答
0
爲Android構建本機二進制文件的最簡單方法是使用ndk-build
工具。 Here是關於如何爲您的項目設置構建的完整文檔。
簡言之,你需要創建兩個額外的文件:
Application.mk
:
# an example setup
APP_ABI := armeabi-v7a x86
APP_PLATFORM := android-16
APP_STL := stlport_static
NDK_TOOLCHAIN_VERSION := 4.8
而且Android.mk
:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := <lib_name> # put 'foo' to built libfoo.a
LOCAL_LDLIBS := -llog -lm # whatever libs you need
LOCAL_SRC_FILES := <source_files>
include $(BUILD_STATIC_LIBRARY)
就可以啓動建立與下一個命令:
$ ndk-build NDK_PROJECT_PATH=path/to/intermediate/results/dir NDK_LIBS_OUT=path/to/output/dir APP_BUILD_SCRIPT=path/to/Android.mk NDK_APPLICATION_MK=path/to/Application.mk
P.S.無論Android Studio如何改進NDK支持,使用ndk-build和手寫makefile都可爲您的項目提供更多的靈活性。無論如何,您可以通過gradle的Exec
任務輕鬆嵌入基於ndk-build的構建。
+0
感謝您的回答,但通過這種方式我會得到頭文件? 我想爲android構建dlib,它有超過1500個文件,並且我需要頭文件在我的C++代碼中使用。 – Vardan95
相關問題
- 1. 爲iPhone創建靜態庫
- 2. 靜態庫創建
- 3. 創建靜態庫
- 4. 構建靜態庫(.lib)VS 2010 Pro
- 5. C++靜態庫 - 如何從.lib創建.a文件?
- 6. 爲所有版本創建靜態庫
- 7. 爲iOS創建靜態鏈接庫
- 8. 爲iOS創建OpenFeint靜態庫
- 9. 爲第三方靜態庫創建podspec
- 10. iPhone靜態庫創建
- 11. 創建靜態庫Visual Studio
- 12. 創建靜態庫混淆
- 13. Android,NDK,構建靜態庫
- 14. 動態LIB找不到靜態庫
- 15. 從MinGW靜態庫(.a)到Visual Studio靜態庫(.lib)
- 16. 創建依賴於其他的靜態庫(RestKit)靜態庫
- 17. 如何從多個靜態庫中創建一個靜態庫?
- 18. 創建一個引用其他靜態庫的靜態庫
- 19. 在XCode中創建靜態庫的靜態庫
- 20. 靜態庫Android
- 21. 在Xcode中爲tesseract ocr創建靜態庫並綁定MonoTouch中的靜態庫
- 22. 無法與libx264.lib靜態庫鏈接
- 23. Python項目的靜態庫(.lib)
- 24. * .lib - 是否靜態?
- 25. 爲什麼我需要爲靜態lib構建指定運行時庫類型?
- 26. 鏈接到鏈接到靜態.lib的靜態.lib的問題
- 27. 爲Android創建庫
- 28. 如何調試靜態庫的代碼(libeay32.lib和ssleay32.lib)
- 29. 從工作區創建靜態庫
- 30. 從靜態庫手動創建框架
最新的Android Studio(2.2 preview 5)支持Android NDK(原生開發工具包),可以從這裏獲取:http://tools.android.com/。 –
感謝@Richard的信息,但你能指定我應該如何構建庫? – Vardan95
請注意,你不能直接使用你的Android應用程序的靜態庫。您將需要一個共享庫(或庫)來包裝這些庫,並加載這些共享庫。 –