我有一个使用android库的项目。
图书馆A取决于图书馆C.
当构建任务启动时,它始终在compileDebugJava
中失败,因为库A需要库C的资源。
错误:包com.mypackage.libraryC.R不存在
Gradle使用字母顺序运行构建任务。
如何在该场景中更改构建顺序?
我需要先为库C构建所有任务,然后开始构建库A(库A应该看到库C R.class。
感谢。
gradle错误堆栈跟踪:
:liraryC:processReleaseJavaRes
:libraryC:packageReleaseJar
:libraryC:compileReleaseNdk
:libraryC:packageReleaseJniLibs UP-TO-DATE
:libraryC:packageReleaseLocalJar
:libraryC:packageReleaseRenderscript UP-TO-DATE
:libraryC:bundleRelease
:libraryC:prepareLibrary
:libraryA:prepareDebugDependencies
:libraryA:compileDebugAidl
:libraryA:compileDebugRenderscript
:libraryA:generateDebugBuildConfig
:libraryA:mergeDebugAssets
:libraryA:generateDebugResValues UP-TO-DATE
:libraryA:generateDebugResources
:libraryA:mergeDebugResources
:libraryA:processDebugManifest
:libraryA:processDebugResources
:libraryA:generateDebugSources
libraryA:compileDebugJava
error: package com.mypackage.libraryC.R does not exist
Library A build.gradle:
apply plugin: 'android-library'
dependencies {
compile project(':LibraryC')
}
Library C build.gradle:
apply plugin: 'android-library'
dependencies {
// other dependencies
}
答案 0 :(得分:0)
自从我使用gradle以来已经有很长一段时间了但是如果我记得正确的话,如果依赖关系在gradle文件中正确表达,它应该以正确的顺序构建。
您应该将C的依赖项放在库A的gradle文件中。