久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

JIN學習一,、Android使用已有C/C 代碼,、第三方SO庫的方法

 啊司com 2016-08-06

1.配置好NDk編譯環(huán)境(這個Google一下,:))

2.將已有C/C++代碼,,編譯成SO文件

3.Eclipse中新建Android工程,,創(chuàng)建一個jni目錄。如下所示


4.在jni目錄創(chuàng)建C/C++文件,,里面調用步驟2函數,,或者第三方SO的函數

5.創(chuàng)建Android.mk文件,內容為:

LOCAL_PATH := $(call my-dir)
# Link libXXX.so
include $(CLEAR_VARS)  
LOCAL_MODULE :=XXX  
LOCAL_SRC_FILES := libXXX.so  
#LOCAL_SRC_FILES := /jni/libXXX.so  
include $(PREBUILT_SHARED_LIBRARY)  

include $(CLEAR_VARS)
LOCAL_MODULE    := XXXAgent
LOCAL_SRC_FILES := XXXAgent.cpp
LOCAL_SHARED_LIBRARIES := XXX
LOCAL_LDLIBS := -llog 
include $(BUILD_SHARED_LIBRARY)

將XXX替換為編譯出的SO或者第三方SO的名字

6.將jni目錄下的C/C++編譯成Android通過JNI調用的SO文件,,這里名字為  libXXXAgent.so

7.Android工程中使用時,,首先加載一下用到的SO庫,即可正常使用了,。

System.loadLibrary('XXX');
System.loadLibrary('XXXAgent');

說明:這里的重點是如何調用第三方SO庫,,所有部分細節(jié)沒有表述。比如Javah生成相關頭文件,,jni調用等,。


補充:上面步驟可能比較多,這里舉一個例子加以說明,。某天,,你得到一個第三SO庫,名字就叫XXX,。你發(fā)現里面的功能正好是你Android項目里需要的,,可以拿來就用。這個消息令你高興萬分啊那是,。但是,,如何在Android里使用呢,XXX庫里的調用約定不符合JNI規(guī)定,是不能直接來用的,。哈哈,想到了,,創(chuàng)建一個XXXAgent.so,。它的調用采用JNI,然后在實現里調用第三方SO就可以了。以上就是大概的思路,。


SO文件是如何自動安裝到虛擬機或者手機上呢,,NDK生成的SO文件會自動放到libs/armeabi目錄下。而此目錄下的SO文件都會自動打包到APK,,安裝后釋放到/data/data/項目名字/lib/下,。這里XXXAgent.SO文件生成libs/armeab,XXXAgent.SO依賴XXX文件,,XXX文件自動拷貝到libs/armeab下,。(XXX文件放在jni下,和Android.mk同級,,這個是和Android.mk里的設置配合使用的)

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多