移植jsoncpp到安卓

来源:互联网 发布:软件外包是什么 编辑:程序博客网 时间:2024/06/03 18:29

1.我使用的方法是静态库的方式,因为动态库的方式一直无法在我的OPPO运行,如果你是使用java来加载的那么推荐你使用动态库运行,我这里为了测试方便,直接在OPPO手机运行C的

 

这里我基于jsoncpp移植的库,稍后上传,我只是修改了其中的exception,因为ndk并不完全支持C++

 

链接:https://github.com/2637309949/CODE_NDK_C-_C

 

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := main# Add your application source files here...LOCAL_SRC_FILES := \ main.cppLOCAL_LDLIBS  := -lGLESv1_CM -lGLESv2 -llogLOCAL_STATIC_LIBRARIES := libJsoninclude $(BUILD_EXECUTABLE)$(call import-module,jsoncpp-0.5.0)


 

#include <stdio.h>#include <string>#include <json/json.h>using namespace std;int main(int argc, char **argv) {    printf("%s\n","start...");    Json::Value root;    Json::Value arrayObj;    Json::Value item;    for(int i=0;i<5;i++){        char buffer[20];        sprintf(buffer,"key%d",i);        item[buffer] = i;        arrayObj.append(item);    }    root["key1"] = "value1";    root["key2"] = "value1";    root["array"] = arrayObj;    //生成string json    std::string out = root.toStyledString();    std::cout << out << std::endl;    //一些有用的api    std::cout << root.size() <<std::endl;;    std::cout << root.removeMember("key2") <<std::endl;;    std::cout << root.toStyledString() <<std::endl;;    return 1;}


0 1