admin管理员组

文章数量:1030421

Android gRPC使用记录

1、在gradle.properties定义引用版本

代码语言:javascript代码运行次数:0运行复制
krotoplus_version=0.6.1
protobuf_version=3.25.1
coroutines_version=1.3.2
grpc_version=1.60.0
grpc_kotlin_version=1.4.1

2、build.gradle.kts编译

代码语言:javascript代码运行次数:0运行复制
import com.google.protobuf.gradle.proto

plugins {
    ...
    //增加.proto文件编译插件
    id("com.google.protobuf") version "0.9.1" // 添加protobuf
    ...
}

val coroutinesVersion = project.property("coroutines_version")
val krotoplusVersion = project.property("krotoplus_version")
val protobufVersion = project.property("protobuf_version")
val grpcVersion = project.property("grpc_version")
val grpcKotlinVersion = project.property("grpc_kotlin_version")

android {
    ...
    sourceSets {
        named("main") {
            proto {
                srcDir("src/main/proto")
            }
        }
    }
    ...
}

dependencies {

    ...
    //gRPC
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")

    implementation("com.google.protobuf:protobuf-java:$protobufVersion")
    implementation("com.google.protobuf:protobuf-java-util:$protobufVersion")
    implementation("com.google.protobuf:protobuf-kotlin:$protobufVersion")

    implementation("io.grpc:grpc-protobuf:$grpcVersion")
    implementation("io.grpc:grpc-stub:$grpcVersion")
    implementation("io.grpc:grpc-netty:$grpcVersion")
    implementation("io.grpc:grpc-kotlin-stub:$grpcKotlinVersion")
    ...
}

protobuf {
    protoc {
        artifact = "com.google.protobuf:protoc:$protobufVersion"
    }

    plugins {
        create("grpc") {
            artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
        }
        create("grpckt") {
            artifact = "io.grpc:protoc-gen-grpc-kotlin:${grpcKotlinVersion}:jdk8@jar"
        }
        create("java"){
            artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
        }
    }

    generateProtoTasks {
        all().forEach {
            it.plugins {
                create("grpc"){
                    option("lite")
                }
                create("grpckt"){
                    option("lite")
                }
                create("java"){
                    option("lite")
                }
            }
            it.builtins {
                create("kotlin"){
                    option("lite")
                }
            }
        }
    }
}

Android gRPC使用记录

1、在gradle.properties定义引用版本

代码语言:javascript代码运行次数:0运行复制
krotoplus_version=0.6.1
protobuf_version=3.25.1
coroutines_version=1.3.2
grpc_version=1.60.0
grpc_kotlin_version=1.4.1

2、build.gradle.kts编译

代码语言:javascript代码运行次数:0运行复制
import com.google.protobuf.gradle.proto

plugins {
    ...
    //增加.proto文件编译插件
    id("com.google.protobuf") version "0.9.1" // 添加protobuf
    ...
}

val coroutinesVersion = project.property("coroutines_version")
val krotoplusVersion = project.property("krotoplus_version")
val protobufVersion = project.property("protobuf_version")
val grpcVersion = project.property("grpc_version")
val grpcKotlinVersion = project.property("grpc_kotlin_version")

android {
    ...
    sourceSets {
        named("main") {
            proto {
                srcDir("src/main/proto")
            }
        }
    }
    ...
}

dependencies {

    ...
    //gRPC
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")

    implementation("com.google.protobuf:protobuf-java:$protobufVersion")
    implementation("com.google.protobuf:protobuf-java-util:$protobufVersion")
    implementation("com.google.protobuf:protobuf-kotlin:$protobufVersion")

    implementation("io.grpc:grpc-protobuf:$grpcVersion")
    implementation("io.grpc:grpc-stub:$grpcVersion")
    implementation("io.grpc:grpc-netty:$grpcVersion")
    implementation("io.grpc:grpc-kotlin-stub:$grpcKotlinVersion")
    ...
}

protobuf {
    protoc {
        artifact = "com.google.protobuf:protoc:$protobufVersion"
    }

    plugins {
        create("grpc") {
            artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
        }
        create("grpckt") {
            artifact = "io.grpc:protoc-gen-grpc-kotlin:${grpcKotlinVersion}:jdk8@jar"
        }
        create("java"){
            artifact = "io.grpc:protoc-gen-grpc-java:$grpcVersion"
        }
    }

    generateProtoTasks {
        all().forEach {
            it.plugins {
                create("grpc"){
                    option("lite")
                }
                create("grpckt"){
                    option("lite")
                }
                create("java"){
                    option("lite")
                }
            }
            it.builtins {
                create("kotlin"){
                    option("lite")
                }
            }
        }
    }
}

本文标签: Android gRPC使用记录