首页 > 其他分享 >Android Gradle 导入 Kotlin gRPC

Android Gradle 导入 Kotlin gRPC

时间:2022-10-25 14:11:49浏览次数:80  
标签:protoc protobuf gRPC Kotlin grpc io kotlin lite Android

project build.gradle

plugins {
    id "com.google.protobuf" version "0.9.1" apply false
}

module build.gradle

android {
    sourceSets {
        main {
            proto {
                srcDir '../../protos'
            }
        }
    }
}

dependencies {
    implementation 'io.grpc:grpc-stub:1.50.2'
    implementation 'io.grpc:grpc-protobuf-lite:1.50.2'
    implementation 'io.grpc:grpc-kotlin-stub:1.3.0'
    implementation 'com.google.protobuf:protobuf-kotlin-lite:3.21.8'
    runtimeOnly 'io.grpc:grpc-okhttp:1.46.0'
}

protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.21.8'
    }
    plugins {
        java {
            artifact = 'io.grpc:protoc-gen-grpc-java:1.50.0'
        }
        grpc {
            artifact = 'io.grpc:protoc-gen-grpc-java:1.50.0'
        }
        grpckt {
            artifact = 'io.grpc:protoc-gen-grpc-kotlin:1.3.0:jdk8@jar'
        }
    }
    generateProtoTasks {
        all().each { task ->
            task.builtins {
                kotlin {
                    option 'lite'
                }
            }
            task.plugins {
                java {
                    option 'lite'
                }
                grpc {
                    option 'lite'
                }
                grpckt {
                    option 'lite'
                }
            }
        }
    }
}

参考代码

https://github.com/grpc/grpc-kotlin/tree/master/examples/android

标签:protoc,protobuf,gRPC,Kotlin,grpc,io,kotlin,lite,Android
From: https://www.cnblogs.com/mkckr0/p/16824667.html

相关文章

  • 直播带货源码,如何用Android Studio实现登录跳转
    直播带货源码,如何用AndroidStudio实现登录跳转一、基本要求实现一个简单的用户登录界面,功能如下: 1、默认不存储用户信息,默认隐藏密码。 2、能通过勾选框记住密码......
  • grpc-web使用
    一,proto协议编译js文件hello.proto文件1syntax="proto3";23packageapi;45//这里可以写服务注释6serviceHelloWorldService{7//这里可以......
  • Android发送通知支持安卓11
    上代码privatefinalstaticStringNOTIFICATION_CHANNEL_ID="1001";privatefinalstaticStringNOTIFICATION_CHANNEL_NAME="Service";privateNotificationMana......
  • Android实现GPS定位,不用SDK
    权限<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATI......
  • Android编译报错:Cannot resolve external dependency com.android.tools.build:gradle
    修改根目录的build.gradle增加 repositories配置,然后再File>SyncProjectwithGradleFiles,再执行Build>RebuildProjectbuildscript{ext{agp_versi......
  • Android APK 文件结构
    序言APK(全称:Androidapplicationpackage,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。APK文件基于ZIP文件格式......
  • android系统上编写、运行C#代码
    最近找到个好玩的APP,C#Shell(CompilerREPL),可以在安卓系统上编写和运行C#代码,配合sqlite数据库,写了个小爬虫,运行还不错;运行一些小爬虫或者定时任务可以用这个,毕竟手机比......
  • Android 系统调用拦截hook
    本文ASOP源码版本8.1,下面是相关改动文件Changesnotstagedforcommit:(use"gitadd/rm<file>..."toupdatewhatwillbecommitted)(use"gitcheckout--<......
  • 打开Android Studio时提示:adb.exe使用的5037端口被占用了
    打开AndroidStudio时报如下错误提示:方法一1、根据提示查看adb的端口号5037被谁占用cmd打开命令窗口,运行netstat-aon|findstr“5037”找出相应的pid号;2、然后在......
  • android实现网格布局
    效果图  添加依赖implementation'com.github.mtjsoft:GridPager:v3.7.0'layout文件<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="h......