首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Protobuf android NDK

Protobuf android NDK
EN

Stack Overflow用户
提问于 2015-08-26 12:49:23
回答 1查看 1.2K关注 0票数 0

我正在尝试使用android studio构建protobuf 2.6.1NDK,但我不知道如何在gradle文件中包含protobuf,我也尝试过Android.mk和eclipse,但它们都不起作用,请在这方面帮助我。

代码语言:javascript
复制
    LOCAL_PATH := $(call my-dir)
    include $(CLEAR_VARS)

    LOCAL_MODULE    := libprotobuf

    LOCAL_SRC_FILES :=\
    src/google/protobuf/descriptor_database.cc \
    src/google/protobuf/descriptor.cc \
    src/google/protobuf/descriptor.pb.cc \
    src/google/protobuf/dynamic_message.cc \
    src/google/protobuf/extension_set_heavy.cc \
    src/google/protobuf/extension_set.cc \
    src/google/protobuf/generated_message_reflection.cc \
    src/google/protobuf/generated_message_util.cc \
    src/google/protobuf/io/coded_stream.cc \
    src/google/protobuf/io/gzip_stream.cc \
    src/google/protobuf/io/printer.cc \
    src/google/protobuf/io/strtod.cc \
    src/google/protobuf/io/tokenizer.cc \
    src/google/protobuf/io/zero_copy_stream_impl_lite.cc \
    src/google/protobuf/io/zero_copy_stream_impl.cc \
    src/google/protobuf/io/zero_copy_stream.cc \
    src/google/protobuf/message_lite.cc \
    src/google/protobuf/message.cc \
    src/google/protobuf/reflection_ops.cc \
    src/google/protobuf/repeated_field.cc \
    src/google/protobuf/stubs/common.cc \
    src/google/protobuf/stubs/once.cc \
    src/google/protobuf/stubs/stringprintf.cc \
    src/google/protobuf/stubs/structurally_valid.cc \
    src/google/protobuf/stubs/strutil.cc \
    src/google/protobuf/stubs/substitute.cc \
    src/google/protobuf/text_format.cc \
    src/google/protobuf/unknown_field_set.cc \
    src/google/protobuf/wire_format_lite.cc \
    src/google/protobuf/wire_format.cc

    ifeq ($(TARGET_ARCH),x86)
    LOCAL_SRC_FILES := $(LOCAL_SRC_FILES) \
    src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc

    endif

    LOCAL_CFLAGS := -D GOOGLE_PROTOBUF_NO_RTTI=1
    LOCAL_CPPFLAGS := -std=c++11
    LOCAL_C_INCLUDES = $(LOCAL_PATH)/src

    LOCAL_EXPORT_LDLIBS := -lz
    LOCAL_EXPORT_CFLAGS := $(LOCAL_CFLAGS)
    LOCAL_EXPORT_CPPFLAGS := $(LOCAL_CPPFLAGS)
    LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)

    include $(BUILD_STATIC_LIBRARY)
EN

回答 1

Stack Overflow用户

发布于 2015-09-04 09:22:26

我将新模块添加到我的项目中,并将其命名为proto。下面是我的gradle文件:

代码语言:javascript
复制
apply plugin: 'protobuf'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'ws.antonov.gradle.plugins:gradle-plugin-protobuf:0.9.1'
    }
}

dependencies {
    compile 'com.google.protobuf:protobuf-java:2.6.0'
}

protocPath = 'C:/Users/Paul/proto/protoc'
extractedProtosDir = "${project.buildDir.path}/extracted-protos"
generatedFileDir = "${projectDir}/src/main/java"
//protobufCodeGenPlugins = ['foo:./protoc-gen-foo', 'bar']

dependencies {
    // If you have your protos archived in a tar file, you can specify that as a dependency
    //   ... alternative archive types supported are: jar, tar, tar.gz, tar.bz2, zip
    protobuf files("src/main/protos/dungeon.proto")
    // Different configuration fileSets are supported
    //testProtobuf files("src/main/java")
}

然后在我的应用程序build.gradle中添加了compile project(':proto')

最后,在我的settings.gradle中有include ':app', ':proto'

希望能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32218211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档