使用Android Studio调用C++ 代码-log4cplus

来源:互联网 发布:ae cc 2014 mac 编辑:程序博客网 时间:2024/05/24 06:14
http://blog.csdn.net/wb175208/article/details/52577167
http://blog.csdn.net/wb175208/article/details/52577167

F:\Sdk\ndk-bundle\build\ndk-build.cmd -- 用这个命令来编译C++源码

产生建立一个文件夹,如下图所示:


其中jni为源码存放路径及编译选项 Android.mk 与 Application.mk 的存放路径,如下图所示:


其中  Android.mk 里面是编译的文件说明,如下所示:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    := ljttestloginclude $(BUILD_SHARED_LIBRARY)LOCAL_STATIC_LIBRARIES :=  ljtliblog4cpp        LOCAL_C_INCLUDES += log4cplus/include/log4cplus \log4cplus/include/log4cplus/boost \log4cplus/include/log4cplus/config \log4cplus/include/log4cplus/helpers \log4cplus/include/log4cplus/internal \log4cplus/include/log4cplus/spi \log4cplus/include/log4cplus/threadLOCAL_SRC_FILES :=  log4cplus/src/appenderattachableimpl.cxx \  log4cplus/src/appender.cxx \  log4cplus/src/asyncappender.cxx \  log4cplus/src/clogger.cxx \   log4cplus/src/configurator.cxx \  log4cplus/src/connectorthread.cxx \  log4cplus/src/consoleappender.cxx \  log4cplus/src/cygwin-win32.cxx \  log4cplus/src/env.cxx \  log4cplus/src/factory.cxx \  log4cplus/src/fileappender.cxx \  log4cplus/src/fileinfo.cxx \  log4cplus/src/filter.cxx \  log4cplus/src/global-init.cxx \  log4cplus/src/hierarchy.cxx \  log4cplus/src/hierarchylocker.cxx \  log4cplus/src/layout.cxx \  log4cplus/src/log4judpappender.cxx \  log4cplus/src/lockfile.cxx \  log4cplus/src/logger.cxx \  log4cplus/src/loggerimpl.cxx \  log4cplus/src/loggingevent.cxx \  log4cplus/src/loggingmacros.cxx \  log4cplus/src/loglevel.cxx \  log4cplus/src/loglog.cxx \  log4cplus/src/logloguser.cxx \  log4cplus/src/mdc.cxx \  log4cplus/src/ndc.cxx \  log4cplus/src/nullappender.cxx \  log4cplus/src/objectregistry.cxx \  log4cplus/src/patternlayout.cxx \  log4cplus/src/pointer.cxx \  log4cplus/src/property.cxx \  log4cplus/src/queue.cxx \  log4cplus/src/rootlogger.cxx \  log4cplus/src/sleep.cxx \  log4cplus/src/snprintf.cxx \  log4cplus/src/socketappender.cxx \  log4cplus/src/socketbuffer.cxx \  log4cplus/src/socket.cxx \  log4cplus/src/stringhelper.cxx \  log4cplus/src/stringhelper-clocale.cxx \  log4cplus/src/stringhelper-cxxlocale.cxx \  log4cplus/src/stringhelper-iconv.cxx \  log4cplus/src/syncprims.cxx \  log4cplus/src/syslogappender.cxx \  log4cplus/src/threads.cxx \  log4cplus/src/timehelper.cxx \  log4cplus/src/tls.cxx \  log4cplus/src/version.cxx
Application.mk 为编译选项,如下图所示:

APP_STL:=gnustl_staticAPP_CPPFLAGS:=-frtti -fexceptions APP_ABI := allAPP_PLATFORM := android-16APP_OPIM :=debug
\log4cplus_jni\jni\log4cplus 文件夹下面为 log4cplus 的源码
在log4cplus_jni\jni文件夹下面 shift+右键 ,在此处打开命令窗口,在命令里面敲 F:\Sdk\ndk-bundle\build\ndk-build ,则 ndk-build.cmd 会根据 Android.mk+Application.mk 来进行编译。

编译成功后,log4cplus_jni\lib 中为编译好的结果   log4cplus_jni\obj 为编译的中间文件

-----结果未测试,因为中间一个cxx 的源文件未能编译过,故未能截图后面的部分。

但是有一个思路可以测试一下 ,就是把 log4cplus 的头文件和源文件加进 Android Studio 里面,进行编译。

下面是运用网上一个现成的在Android里面编译好的 log4cplus  的库,进行测试并调用 。




















原创粉丝点击