Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java aar依赖项是’;图书馆中的t分解_Java_Android_Android Studio_Gradle_Dependencies - Fatal编程技术网

Java aar依赖项是’;图书馆中的t分解

Java aar依赖项是’;图书馆中的t分解,java,android,android-studio,gradle,dependencies,Java,Android,Android Studio,Gradle,Dependencies,我的目标是分发一个.aar文件,供其他开发人员在其项目中使用。我发现的问题是,当我尝试将我的.aar集成到其他项目中时,我需要在它们的build.gradle文件中指定我已经包含在我的.aar build.gradle中的所有依赖项 我的问题是,如果可能的话,只将我的库作为一个依赖项包含在内,而我的库所依赖的库将以某种方式包含在另一个项目中 例如,“我的库”在其build.gradle文件中定义了以下依赖项: dependencies { compile fileTree(dir: 'l

我的目标是分发一个.aar文件,供其他开发人员在其项目中使用。我发现的问题是,当我尝试将我的.aar集成到其他项目中时,我需要在它们的build.gradle文件中指定我已经包含在我的.aar build.gradle中的所有依赖项

我的问题是,如果可能的话,只将我的库作为一个依赖项包含在内,而我的库所依赖的库将以某种方式包含在另一个项目中

例如,“我的库”在其build.gradle文件中定义了以下依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.altbeacon:android-beacon-library:2.3.5'
    compile 'commons-codec:commons-codec:1.10'
}
dependencies {
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:7.5.0'


    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.altbeacon:android-beacon-library:2.3.5'
    compile 'commons-codec:commons-codec:1.10'


    compile project(':myLibrary')
}
我编写了一个测试应用程序,它使用我的库和Android Studio界面中的add-like模块

dependencies {
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:7.5.0'
    compile project(':myLibrary')
}
然而,这是行不通的。我在运行时得到java.lang.VerifyErrors。最终起作用的是将其包含在应用程序的build.gradle文件中:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.altbeacon:android-beacon-library:2.3.5'
    compile 'commons-codec:commons-codec:1.10'
}
dependencies {
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:7.5.0'


    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.altbeacon:android-beacon-library:2.3.5'
    compile 'commons-codec:commons-codec:1.10'


    compile project(':myLibrary')
}

为什么我需要在.aar和最终应用程序中都包含依赖项?关于依赖关系是如何工作的,我还不了解什么?为什么最终的应用程序无法在构建时从maven或jCenter获取.aar的依赖项?

如果您在测试应用程序中使用aar,那么您不会在Android Studio中添加模块,而只是一条指向承载aar文件的存储库的依赖项行(无论是本地存储库还是类似于
mavenCentral
jcenter
)的存储库。我按照以下步骤添加外部模块,您是如何解决此问题的?不,唯一的方法是在主项目中添加可传递的依赖项:(