0

我的应用程序有一个前端和一个后端存储库。后端是用 Go 编写的,并通过 gRPC 提供 API。生成的 gRPC Java 文件以backend-repo/proto-gen/java/(so backend-repo/proto-gen/java/com/myApp/Users.java) 结尾。

在我的前端 android repo 中,我将后端 repo 子模块到一个名为server. 我想修改我的以从后端 build.gradle编译文件。.java

android-repo/
    app/
        build.gradle
    server/proto-gen/java/com/myApp/
        Users.java
        AnotherService.java

我对 Android 开发非常陌生,并且正在努力找出正确的方法。

这是我的一个片段,app/build.gradle但它失败了,因为它找不到包com.google.protobuf

task compileGrpc (type: JavaCompile) {
    source = fileTree(dir: '../server/proto-gen/java/', include: '**/*.java')
    destinationDir = file('build/classes')
    classpath = files('../server/proto-gen/java/')
    options.compilerArgs = ["-sourcepath", "$projectDir/../server/proto-gen/java/"]
}
dependencies {
    compile 'com.google.protobuf:protobuf-java:3.0.0-alpha-2'
    compileGrpc.execute()
}
4

2 回答 2

0

只需包含src项目源集的路径即可将它们包含在编译中:

android {
    ...
    sourceSets {
        main {
            java.srcDirs = [java.srcDirs, 'server/proto-gen/java']
        }
    }
}

您将能够在右侧看到包含在 Android 视图/项目资源管理器中的 src 文件/目录并直接编辑文件。

于 2017-09-10T10:35:53.303 回答
0

您可以添加您的依赖项,例如

dependencies {
        classpath files('server/proto-gen/java/com/myApp/')
    }

这将接受相对路径。

于 2017-09-09T19:46:45.320 回答