由于一些无聊的原因,我必须将现有的应用程序拆分为具有多个APK的手机和平板电脑版本(每个版本都有近100Mb的不同静态资源 - 是的,我很生气这个负责人要求)。
为实现这一目标,我正在使用原始包中的com.android.library
将原始应用转换为Android库(并从applicationId
移除build.gradle
)。
要将库导入我的新应用(myProjectTablet
),我将以下内容添加到settings.gradle
:
include ':myProjectLib'
project (':myProjectLib').projectDir = new File('../myProjectRoot/myProjectLib')
为了编译它,我将以下内容添加到build.gradle
:
compile project (':myProjectLib')
目前,我需要两个基于此库的应用程序,因此目录结构为:
myProjectRoot
myProjectLib
myProjectPhone
myProjectTablet
最后问我的问题:无论我如何调整路径等,我都会收到以下Gradle错误的变体:
Error:Project :tablet declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :lib.
从我的搜索来看,这通常与在某些库和工具的上下文中使用default
关键字的冲突有关,但我不相信我的应用程序有类似的东西。如果有人对此错误有任何见解,我将不胜感激。
答案 0 :(得分:0)
经过两天搞砸了(并且不小心试图将其放在评论中),我终于意识到了:
project (':myProjectLib').projectDir = new File('../myProjectRoot/myProjectLib')
需要:
`project (':myProjectLib').projectDir = new File('../myProjectLib')`
Gradle似乎没有找到项目。