Android 找不到protoc gen javanano

Android 找不到protoc gen javanano,android,gradle,protocol-buffers,protoc,Android,Gradle,Protocol Buffers,Protoc,我正试图在我的Android应用程序中使用Protobuf。 为此,我在gradle.build文件中添加了以下行: buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "gradle.plugin.com.google.protobuf:proto

我正试图在我的Android应用程序中使用Protobuf。 为此,我在gradle.build文件中添加了以下行:

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.
你能帮我解决这个问题吗? 我不知道如何修理它


提前谢谢你

这意味着您使用的
protoc
版本不支持javanano。一个简单的修复方法是在Maven Central上使用预编译的
protoc
,方法是将以下内容添加到
build.gradle
(如protobuf-gradle插件的建议):


所以在/usr/local/bin/protoc文件夹中有一个名为protoc gen javanano的应用程序?不,我只是在gradle中给出protoc的路径。但是我添加这行是为了解决我的问题,但它没有,所以我认为这不是原因。你的假设是错误的。。。这是protobuf binaryOk的路径,因此在build.gradle中没有这一行,我仍然有这个错误。你知道一个可能的解决办法吗?哦,来看看医生。。。使用此解决方案下载二进制文件。。。我认为在解决这个问题之前。。。或此解决方案,但将路径更改为protoc/protoc.exe的真实路径(取决于平台Linux/windows)
protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3'
    }
}