开启c++11支持,在jni/Application.mk中添加:
APP_CPPFLAGS += -std=c++11 NDK_TOOLCHAIN_VERSION := 4.7
把
../../Classes/*.cpp
文件加入编译,使用LOCAL_SRC_FILES := main.cpp \ $(subst jni/, , $(wildcard $(LOCAL_PATH)/../../Classes/*.c*))
jni/Android.mk中的
LOCAL_PATH := $(call my-dir)
表示Android.mk文件所在的目录。c++序列化可用MessagePack或JsonCpp
- MessagePack中,对象会序列化成一个由数据成员构成的数组
- 不用boost::Serialization(编译出android可用的boost库有9.3M)
Problems
APP_PLATFORM android-14 is larger than android:minSdkVersion 7
因Eclipse误把warning做error。可在jni/Application.mk添加一行:
APP_PLATFORM := android-<minSdkVersion>
minSdkVersion是你在Manifest.xml中指定的最小版本号