相关疑难解决方法(0)

使用Gradle在多个Android应用之间共享Android库

我有Android应用程序A和B.我想从每个应用程序中提取重复的代码到共享库L.如何使用Gradle执行此操作?我之前看过这个问题的几个排列,但答案很少.

最接近/最好的问题是这一个:

多个Android应用程序取决于带有gradle的android库

第一个答案表明一个包含应用程序和库模块的父项目.这种耦合是不可取的,部分是因为A,B和L在他们自己的Git存储库中,但也因为它涉及有一个父项目和构建难以放入源代码控制的文件(或者涉及手动复制其他项目).因为默认情况下Android Studio喜欢用于单模块项目的父版本......嗯,对于应该是一个简单的家庭来说,它只是很多父母.这似乎是项目之间不必要的耦合,否则完全无关.

第二个答案涉及将AAR发布到repo并引用每个项目中的远程库.我可以使用这种方法,因为我们有一个本地的Nexus存储库,但如果没有手动版本控制/命名和上传文件,这似乎没有一种简单的方法(这是不可持续的).我正在尝试使用Sonatype gradle-release插件,但它似乎适用于JAR(不是AAR).

对于Android应用程序之间最基本的代码共享形式而言,它似乎是很多活动部分.有没有人有更好的解决方案?

android module shared-libraries gradle android-studio

10
推荐指数
1
解决办法
5556
查看次数

使用Gradle包含另一个项目?

我有以下目录结构:

dir
 |
 |---project1
 |     |
 |     |--build.gradle
 |     |--src/main/java/com/bpd/app
 |                               |
 |                               |--SomeClass.java
 |
 |---project2
       |
       |--build.gradle
       |--src/main/java/com/bpd/app
                                 |
                                 |--AnotherClass.java
                                 |--MyClass.java
Run Code Online (Sandbox Code Playgroud)

两者都是单独的Java项目,但SomeClass由于无法找到而无法编译MyClass.

我可以添加project2project1使用Eclipse 的构建路径(然后SomeClass将编译),但我想知道如何使用Gradle来完成它.可能吗?如何让Gradle添加project2到构建路径project1

这是build.gradle其中一个项目的文件.只有库依赖项不同.

apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'

apply plugin: 'checkstyle'
apply plugin: 'pmd'
apply plugin: 'findbugs'
apply plugin: 'jacoco'

repositories {
  mavenCentral()
}

dependencies {
  compile "javax.ws.rs:jsr311-api:1.1.1"

  compile 'com.sun.jersey:jersey-server:1.13'
  compile 'com.sun.jersey:jersey-core:1.13'
  compile 'com.sun.jersey:jersey-servlet:1.13'
  compile 'com.sun.jersey:jersey-json:1.13'

  compile …
Run Code Online (Sandbox Code Playgroud)

java eclipse gradle

6
推荐指数
1
解决办法
4250
查看次数