Android Studio配置google protobuf
16lz
2021-01-23
首先新建一个工作空间
其次配置gradle首先是根目录的
classpath的版本和studio的这里会有个坑 3.0的studio这里版本至少是0.8.2,开始下载maven会很长时间
这里是moudle的gradle配置
apply plugin: 'com.android.application'apply plugin: 'com.google.protobuf'android { compileSdkVersion 26 defaultConfig { applicationId "com.mapbar.myprotodemo" minSdkVersion 21 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { proto { srcDir 'src/main/proto' include '**/*.proto' } java { srcDir 'src/main/java' } } }}dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:0.5' androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2' compile 'com.google.protobuf:protobuf-java:3.1.0' compile 'com.google.protobuf:protoc:3.1.0'}protobuf { protoc { artifact = 'com.google.protobuf:protoc:3.1.0' } generateProtoTasks { all().each { task -> task.builtins { remove java } task.builtins { java {} // Add cpp output without any option. // DO NOT omit the braces if you want this builtin to be added. cpp {} } } } generatedFilesBaseDir = "$projectDir/src/generated"}
最后在build完成之后我们接着最后的工作,那就是创建.proto文件。
我这里是用的Notepad++编辑的这个是 setting 》plugin 里面的插件别忘了下载,如果没有的话去官网下载,自己手动导入。(http://plugins.jetbrains.com/androidstudio)
这是编辑的内容
syntax = "proto2";option java_package="com.mapbar.person";option java_outer_classname="MyPerson";message People{ required string pnam=1; optional int32 name=2;}
proto2 参数需要加reauired 和optional修饰字段,必须和不必须的意思。
最后点击
生成你的类如下图
先面是在activity中的应用
完成!!!!!!!!!!!!!
更多相关文章
- Android分享图片
- android JNI处理图片的例子
- Android仿微信朋友圈发图片和文字
- android自动更新软件版本
- Android根据电量变化为不同图片的方法【电池电量提示】
- Android 图片旋转(使用Matrix.setRotate方法)
- Android之关于手势操作图片的缩放与移动
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android volley框架加载网络图片