2015-07-10 2 views
1

Я пытаюсь использовать Protobuf в своем приложении для Android. Так, чтобы сделать это, я добавил следующие строки в моем файле gradle.build:protoc-gen-javanano не найден

buildscript { 
    repositories { 
     maven { 
      url "https://plugins.gradle.org/m2/" 
     } 
    } 
    dependencies { 
     classpath "gradle.plugin.com.google.protobuf:protobuf-gradle-plugin:0.5.0" 
    } 
} 

apply plugin: "com.google.protobuf" 

sourceSets { 
     main { 
      proto { 
       // In addition to the default 'src/main/proto' 
       srcDir '../../../Libs/Protocol' 
      } 
     } 
    } 

protobuf { 
    protoc { 
     path = '/usr/local/bin/protoc' 
    } 
} 

Дело в том, я получаю сообщение об ошибке при Gradle сборки. В нем говорится, что:

Error:Execution failed for task ':app:generateDebugProto'. 
> protoc: stdout: . stderr: protoc-gen-javanano: program not found or is not executable 
    --javanano_out: protoc-gen-javanano: Plugin failed with status code 1. 

Помогите мне с этой проблемой? Я понятия не имею, как это исправить.

Спасибо заранее!

+0

Так вы приложение под названием protoc-генераторных javanano в папке/usr/local/bin/protoc? – Selvin

+0

Нет, я просто даю путь для протока в градле. Но я добавил строку, чтобы исправить мою проблему, и это не так, я полагаю, что это не причина. –

+0

Вы ошибаетесь ... Это путь к protobuf binary – Selvin

ответ

1

Это значит, что версия protoc, которую вы используете, не поддерживает javanano. Легко исправить будет использовать предварительно скомпилированные protoc на Maven Central, добавив следующую строку в ваш build.gradle (как это было предложено documentation в Protobuf Gradle плагин):

protobuf { 
    protoc { 
     artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3' 
    } 
}