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

分享

Android 打包so動(dòng)態(tài)庫(kù)文件到APK

 lifei_szdz 2013-12-05

Android 打包so動(dòng)態(tài)庫(kù)文件到APK  

2012-02-28 14:52:58|  分類: 技術(shù) |  標(biāo)簽: |字號(hào) 訂閱

有時(shí)由于項(xiàng)目需要使用JNI來(lái)調(diào)用.so文件,,需要將so文件一起打包到APK文件中,這有兩種方法:

 

1. 使用mm命令和Android SDK源代碼一起編譯。

  • 在project根目錄創(chuàng)建一個(gè)Android.mk,,文件內(nèi)容如:

[c-sharp] view plaincopy
  1. LOCAL_PATH:= $(call my-dir)   
  2. include $(CLEAR_VARS)   
  3. LOCAL_MODULE_TAGS := user  
  4. LOCAL_SRC_FILES := $(call all-subdir-java-files)   
  5. LOCAL_PACKAGE_NAME := jnisample   
  6. LOCAL_JNI_SHARED_LIBRARIES := libtest   
  7. include $(BUILD_PACKAGE)   
  8. include $(LOCAL_PATH)/jni/Android.mk   
  9. # Use the folloing include to make our test apk.   
  10. include $(call all-makefiles-under,$(LOCAL_PATH))  

LOCAL_JNI_SHARED_LIBRARIES := libtest 就是把so文件放到apk文件里的libs/armeabi里,,而include $(LOCAL_PATH)/jni/Android.mk為了編譯so文件。

    • 在Project目錄下創(chuàng)建jni文件夾,在jni文件里創(chuàng)建Android.mk,內(nèi)容如下:
      [c-sharp] view plaincopy
      1. LOCAL_PATH := $(call my-dir)  
      2.   
      3. include $(CLEAR_VARS)  
      4. MY_ANDROID_SRC := $(ANDROID_BUILD_TOP)  
      5. LOCAL_CFLAGS += -DHAVE_CONFIG_H -DKHTML_NO_EXCEPTIONS -DGKWQ_NO_JAVA  
      6. LOCAL_CFLAGS += -DNO_SUPPORT_JS_BINDING -DQT_NO_WHEELEVENT -DKHTML_NO_XBL  
      7.   
      8. LOCAL_SHARED_LIBRARIES += libskia libsurfaceflinger liblog  
      9. LOCAL_PRELINK_MODULE := false  
      10.   
      11. LOCAL_CFLAGS += -DPACKED=""  
      12.   
      13. LOCAL_MODULE    := libtest  
      14. LOCAL_SRC_FILES := Ltest.cpp / BlurFilter.cpp / clz.cpp   
      15. LOCAL_C_INCLUDES := $(MY_ANDROID_SRC)/external/skia/include/core /  
      16. $(MY_ANDROID_SRC)/external/qemu/android /  
      17. $(MY_ANDROID_SRC)/frameworks/base/include /  
      18. $(MY_ANDROID_SRC)/system/core/include /  
      19. $(MY_ANDROID_SRC)/frameworks/base/libs/surfaceflinger /  
      20. $(MY_ANDROID_SRC)/system/core/include/pixelflinger /  
      21. $(JNI_H_INCLUDE)  
      22.   
      23. include $(BUILD_SHARED_LIBRARY)  
      LOCAL_C_INCLUDES += /$(JNI_H_INCLUDE) 為了讓jni編譯通過(guò),因?yàn)楣こ掏ㄟ^(guò)jni調(diào)用本地庫(kù).

    • 把工程文件放到SDK platform/packages/apps目錄下,然后進(jìn)入該目錄,命令里輸入mm,進(jìn)行該工程的編譯,這樣編譯出來(lái)的apk,,在libs/armeabi文件夾里面包含so文件,。

     2.使用Eclipse build APK文件,只要將so文件放在與src平級(jí)的地方創(chuàng)建目錄結(jié)構(gòu)libs/armeabi,文件名格式如:libs/armeabi/libxxx.so.
        eclipse在打包的時(shí)候會(huì)根據(jù)文件名的命名規(guī)則(lib****.so)去打包so文件,,開(kāi)頭和結(jié)尾必須分別為“l(fā)ib”和“.so”,否則是不會(huì)打包到apk文件中的

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多