使用protobuf gradle plugin创建 protobuf-lite

96
itvincent
2017.11.28 13:12* 字数 152

protobuf在android还推荐一种使用方式为protobuf-lite,使用protobuf gradle plugin
构建时生成代码的方式来使用protobuf

Protobuf的使用上问题,可以参考 Protobuf在Android下的使用说明

添加protobuf-gradle-plugin

在项目根目录下的build.gradle文件中修改为如下代码:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3'
    }
}

引用protobuf-gradle-plugin

在application的项目下build.gradle文件修改为如下代码:

apply plugin: 'com.google.protobuf'//声明插件

...

protobuf { //protobuf生成的配置
    protoc {
        artifact = 'com.google.protobuf:protoc:3.2.0'
    }
    plugins {
        javalite {
            artifact = 'com.google.protobuf:protoc-gen-javalite:3.0.0'
        }
    }
    generateProtoTasks {
        all()*.plugins {
            javalite { }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.protobuf:protobuf-java:3.2.0' //依赖的protobuf-java lib
}

执行android studioBuild > Rebuild Project后。在app/build/generated/source/proto下会生成相应的protobuf java代码。

程序样例:
https://github.com/itvincent-git/protobuf-sample/tree/gradleplugin

日记本
Web note ad 1