在Android项目中快速集成protobuf

protobuf是Google开源的数据传输载体。相比常用的json有如下好处:

(1) 传输数据量小。protobuf会对数据压缩

(2) 客户端和服务端同步协议方便。协议定义在proto文件中,可以在客户端及服务端自动生成bean代码,省去bean代码编写的时间

(3) 增加抓包难度。抓到的包需要protobuf反序列化才能看到明文


下面说一下,如何在Android项目中快速集成protobuf,一共就3步:


1、工程目录build.gradle

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.2'
    }
}    

2、module目录或者App目录

apply plugin: 'com.google.protobuf'

dependencies {
    compile 'com.google.protobuf:protobuf-lite:3.0.0'
    
}

protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3'
    }
    plugins {
        javalite {
            // The codegen for lite comes as a separate artifact
            artifact = 'com.google.protobuf:protoc-gen-javalite:3.0.0'
        }
    }
    //这里配置生成目录,编译后会在build的目录下生成对应的java文件
    generateProtoTasks {
        all().each { task ->
            task.plugins {
                javalite {}
            }
        }
    }
}

3、proto文件路径

src/main/proto/your-protocol.proto



只用编辑你的proto文件,然后编译的时候会自动生成你的proto对应的bean文件。使用相当方便

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,975评论 6 342
  • 一. Java基础部分.................................................
    wy_sure阅读 3,842评论 0 11
  • 今天晚上加班到很晚才回家,当我蹑手蹑脚走进家门的时候,发现儿子还像以往一样——“加班”写作业,老婆很体贴的...
    风笑天100622阅读 159评论 0 1
  • 他从远方走来 带着迷人的微笑 和来自遥远的问候 他说:“嗨!姑娘,你好。” 你看着他的笑容 嘴角微扬 ...
    敏敏的日记阅读 461评论 2 4