Android Gradle Protobuf插件

时间:2019-03-15 10:40:33

标签: android gradle protobuf-java

我包含了Android protobuf插件,用于基于.proto文件生成Java类。生成类文件并将其放在app/build/generated/source/proto/debug/javalite/Tetra2.java下,Android Studio可以识别枚举等,但是当我执行./gradlew构建时,输出类似于:

  

... TetraCommunicator.java:57:错误:软件包Tetra2不存在           Tetra2.tetra_info tetraInfo;

我缺少一些进口商品吗? Android Studio并不暗示我需要一个。我应该使用某些包名称限定符导入吗?我发现仅直接引用Tetra2类是可疑的,而gradle出于某种原因认为这是程序包名称。为什么Android Studio可以识别课程(不抱怨)而gradle build可以呢? .proto文件经过了充分的测试,可以正确生成C代码,因此不会与它相关联。除了Java

我也感到奇怪的是,生成的类名有时以小写字母开头...

更新
嗯看来我必须在.proto文件中放入包声明,例如:

package abc;

然后gradle构建将起作用。这是为什么?我不想弄乱.proto文件。不是我的。如何在不使用包声明的情况下导入?

0 个答案:

没有答案