[英]Migration from Intellij IDEA project to Android-studio with gradle
有结构的项目
MainProgect(He also root of the whole project)
--SubProgectLib
build.gradle
--SubProgectLib2
build.gradle
--src
--res
AndroidManifest.xml
settings.gradle
build.gradle
在文件settings.gradle中
include ':SubProgectLib'
include ':SubProgectLib2'
当我使用Gradle同步项目时
Gradle 'MainProgect' project refresh failed:
Configuration with name 'default' not found.
MainProject build.gradle:
buildscript
{
repositories
{
mavenCentral()
}
dependencies
{
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
allprojects
{
repositories
{
mavenCentral()
}
}
apply plugin: 'android'
android
{
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig
{
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
sourceSets
{
main
{
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies
{
compile 'com.android.support:support-v4:19.0.1'
compile 'com.google.android.gms:play-services:3.2.+'
compile project(':SubProgectLib')
compile project(':SubProgectLib2')
compile fileTree(dir: 'libs', include: '*.jar')
}
似乎build.gradle
文件的内容放错了位置。 在Intellij的项目结构中,有一个项目可以在其中包含多个模块,并且一个模块可以依赖于其他模块,也可以具有自己的依赖项,例如jar。
如评论中所确认,您包含在问题中的build.gradle
文件是根目录中的一个文件,这是不正确的。 这应该是您的主模块的build.gradle
文件。
在apply plugin : 'android'
之后剪切内容,并将其粘贴到主模块的build.gradle
文件中,包括此行。
您可以在根级别的build.gradle
文件中定义所有模块中build.gradle
内容,例如gradle版本的存储库声明。 Gradle构建系统在所有模块的编译中都包含了根级别文件。
编辑:
您的项目结构应该是这样的
Project Root
+-- libraries
+-- SubModule(your lib project)
+--src
+--.......
+--build.gradle
+-- App(Main Module)
| +-- builds
| +-- src
| | +-- main (java code and resources)
+-- build.gradle
+--settings.gradle
+--build.gradle
我宁愿将所有子模块都放在一个目录(库)中,如果愿意,可以将它们放在根目录中。 您只需要在ypur主模块的settings.gradle
和build.gradle
中更改路径,这些路径build.gradle
它们作为依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.