歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 在Android源碼中編譯自己的模塊

在Android源碼中編譯自己的模塊

日期:2017/3/1 10:29:48   编辑:Linux編程

在進行Android下的jni開始時,我們編寫的有些C/C++代碼需要訪問android中的一些C/C++的頭文件,這些頭文件沒有在NDK中包含,不能再NDK中直接編譯。只能放入到android的源碼中進行編譯。編譯的方法為:

1.在android的源碼的development路徑下創建一個文件夾,取名為screen(可以取任意的名稱),然後將需要編譯的C/C++文件放入這個文件夾,然後編寫makefile文件Android.mk,內容大致如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_LDLIBS := -lm -llog//這一句是可選的,如果代碼中使用android中的記錄日志的api,就需要加上,否則不需要加上。

LOCAL_MODULE := HelloWorld

LOCAL_SRC_FILES := HelloWorld.cpp

include $(BUILD_EXECUTABLE) 此處設置為生成可執行的目標碼,如果生成so共享庫,則需要修改為

include $(BUILD_SHARED_LIBRARY)

2.然後在android源碼的根目錄下運行make screen就在out\target\product\generic\system\bin生產了可執行的目標碼,如果mekefile中指定為生產共享庫,在生產的so文件在out\target\product\generic\system\lib文件夾下

Copyright © Linux教程網 All Rights Reserved