首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >项目外部的Gradle编译依赖项

项目外部的Gradle编译依赖项
EN

Stack Overflow用户
提问于 2017-09-10 03:30:08
回答 2查看 565关注 0票数 0

我的应用程序有一个前端和一个后端存储库。后端是用Go编写的,通过gRPC提供接口。生成的gRPC Java文件最终以backend-repo/proto-gen/java/ (所以是backend-repo/proto-gen/java/com/myApp/Users.java)的形式结束。

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

代码语言:javascript
复制
android-repo/
    app/
        build.gradle
    server/proto-gen/java/com/myApp/
        Users.java
        AnotherService.java

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

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

代码语言:javascript
复制
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()
}
EN

回答 2

Stack Overflow用户

发布于 2017-09-10 03:46:45

您可以像这样添加依赖项

代码语言:javascript
复制
dependencies {
        classpath files('server/proto-gen/java/com/myApp/')
    }

这将接受相对路径。

票数 0
EN

Stack Overflow用户

发布于 2017-09-10 18:35:53

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

代码语言:javascript
复制
android {
    ...
    sourceSets {
        main {
            java.srcDirs = [java.srcDirs, 'server/proto-gen/java']
        }
    }
}

您将能够在右侧看到Android View/Project Explorer中包含的src文件/目录,并直接编辑这些文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46134377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档