android JNI調用百度地圖API,.so文件總是被自動刪除的問題

       最近的一個Android項目,由於跟C語言打上了交道,需要調用第三方的.so文件。關於.so 、JNI這些東西其實我還基本屬於那種不熟悉甚至連了解都算不上的水平。這次我是在別人的項目上添加新功能,也就是在別人已經有armeabi、jni等這些文件夾的情況下,我再添加些.so(百度地圖的libBaiduMapSDK_v3_0_0.so和liblocSDK4b.so)。上一個項目中也用過百度地圖,我就按着百度給的開發指南做的,把這些.so文件和需要的.jar直接複製進libs和其目錄下,然後就成功了。這次也是這麼做,但一 run as 項目,發現拷貝進去的.so文件都被自動刪除了,於是開始在網上搜羅信息,按照指示,果然發現了這個項目中還有jni這個文件夾,裏面還有包括android.mk在內的好些文件,跟我以前自己做的項目,構成不太一樣。搞了一整天,終於在這裏發現瞭解決的辦法

點擊打開鏈接。起初還是出了些差錯,原因是lib前綴的有無造成的。

1、在新建目錄jni/prebuilt,添加so包

2、在原來的jni/Android.mk添加


LOCAL_PATH := $(call my-dir)
02. 
03.include $(CLEAR_VARS) 《---在這個後面田間
04. 
05. 
06.include $(CLEAR_VARS)
07.LOCAL_MODULE := mppay
08.LOCAL_SRC_FILES := prebuilt/libmppay.so
09.include $(PREBUILT_SHARED_LIBRARY)
10. 
11.include $(CLEAR_VARS)
12.LOCAL_MODULE := entryex
13.LOCAL_SRC_FILES := prebuilt/libentryex.so
14.include $(PREBUILT_SHARED_LIBRARY)

注意:這裏prebuilt/ 之後的文件名是帶lib的,起初我沒有帶,結果還是錯的。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章