Android Studio配置google protobuf


首先新建一個工作空間

其次配置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中的應用

完成!!!!!!!!!!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM