1. 将proto文件放置在$projectDir/src/main/proto目录下
  2. 在工程的build.gradle中配置
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.2"
        // 配置如下
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.17'
    }
}
  1. 在app的build.gradle中配置
buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'net.sf.proguard:proguard-gradle:6.0.3'
    }
}

// 添加protobuf库的依赖
dependencies {
    implementation 'com.google.protobuf:protoc:3.5.1'
    implementation ('com.google.protobuf:protobuf-java:3.5.1') {
        exclude group: 'com.google.protobuf', module: 'protobuf-java'
    }
    api 'com.google.protobuf:protobuf-java-util:3.5.1'
}

// 用于生成java文件
protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.5.1'
    }
    generateProtoTasks {
        all().each { task ->
            task.builtins {
                remove java
            }
            task.plugins {
                java {}
            }
        }
    }
    generatedFilesBaseDir = "$projectDir/src/main/proto"
}
  1. build成功后,会发现在$projectDir/src/main/proto/debug/ 目录下生成对应的java文件,可直接使用该文件中的代码实现序列化
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐