繁体   English   中英

使用Gradle从Intellij IDEA项目迁移到Android-studio

[英]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.gradlebuild.gradle中更改路径,这些路径build.gradle它们作为依赖项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM