第一种方式:编译自动生成(推荐
)
1、在app/src/main中创建proto文件夹,放入proto文件
2、在app下的gradle.build中配置
plugins {
id 'com.google.protobuf'
}
android {
...
sourceSets {
main {
proto {
srcDirs = [
'/src/main/proto/' //路径可替换,要与proto文件夹的路径相同
]
}
}
}
...
}
dependencies {
implementation 'com.google.protobuf:protobuf-javalite:3.22.3'
}
protobuf {
// Configure the protoc executable
protoc {
artifact = "com.google.protobuf:protoc:3.22.3"//版本与依赖中的版本相同
}
generateProtoTasks {
all().each { task ->
task.builtins {
remove java
java {
option "lite"
}
}
}
}
}
3、在根目录下的gradle.build中配置
buildscript {
...
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.9.4'
}
}
4、编译生成指定的proto.java文件。路径是app/build/generated/source/proto/release/java/xx/xx.java
5、使用
val ass = xx.builder();
或
xx.set(x).set(y).build();
第二种方式:手动生成
1、官网(Releases · protocolbuffers/protobuf)下载protobuf
下载protoc-34.1-win32.zip或protoc-34.1-win64.zip
2、安装protobuf
解压压缩包,找到bin文件夹
3、配置protobuf到电脑环境中
打开设置------》高级设置------》环境变量------》用户配置------》编辑------》:路径/bin
4、输入指令
输出java:protoc --java_out=. ./business_objects_type.proto
输出kotlin:protoc --kotlin_out=./ ./business_objects_type.proto
5、在app下的gradle.build中配置
implementation("com.google.protobuf:protobuf-java:4.31.1")
implementation("io.grpc:grpc-netty-shaded:1.61.0")
implementation("io.grpc:grpc-stub:1.61.0")
6、使用
val ass = xx.builder();
或
xx.set(x).set(y).build();
以上,希望能帮助到各位!!!