无法在Idea中导入gradle android项目

时间:2015-01-13 15:48:53

标签: android intellij-idea gradle

我开始了解gradle,并使用Android插件与Intellij Idea 13.1.3合作。 我想构建u2020项目,并在Idea中使用gradle面临一些麻烦。

导入项目后,我得到的只是单个模块' u2020'没有依赖项设置和无意义的项目结构。 Idea也没有认识到项目的android框架,也没有看到像类这样的.java文件。

根目录中有单个build.gradle文件。 我应该怎么做才能在Idea中运行项目?将sourceSet添加到build.gradle?

UPD: 来自github链接的build.gradle:

buildscript {    
  repositories {    
    mavenCentral()    
  }    
  dependencies {    
    classpath 'com.android.tools.build:gradle:1.0.0'    
  }    

}       

// Manifest version information!
def versionMajor = 1
def versionMinor = 0
def versionPatch = 0
def versionBuild = 0 // bump for dogfood builds, public betas, etc.

apply plugin: 'com.android.application'

repositories {
  mavenCentral()
}

dependencies {
  compile 'com.android.support:support-v4:21.0.3'

  compile 'com.squareup.dagger:dagger:1.2.2'
  provided 'com.squareup.dagger:dagger-compiler:1.2.2'

  compile 'com.squareup.okhttp:okhttp:2.1.0'
  compile 'com.squareup.okhttp:okhttp-urlconnection:2.1.0'
  compile 'com.squareup.picasso:picasso:2.4.0'
  compile 'com.squareup.retrofit:retrofit:1.8.0'
  debugCompile 'com.squareup.retrofit:retrofit-mock:1.8.0'

  compile 'com.jakewharton:butterknife:6.0.0'
  compile 'com.jakewharton.timber:timber:2.5.0'
  debugCompile 'com.jakewharton.madge:madge:1.1.1'
  debugCompile 'com.jakewharton.scalpel:scalpel:1.1.1'

  compile 'io.reactivex:rxjava:1.0.3'
  compile 'io.reactivex:rxandroid:0.23.0'

  compile 'com.etsy.android.grid:library:1.0.3'
}

def gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim()
def buildTime = new Date().format("yyyy-MM-dd'T'HH:mm'Z'", TimeZone.getTimeZone("UTC"))

def isTravis = "true".equals(System.getenv("TRAVIS"))
def preDexEnabled = "true".equals(System.getProperty("pre-dex", "true"))

android {
  compileSdkVersion 21
  buildToolsVersion '21.1.1'

  dexOptions {
    // Skip pre-dexing when running on Travis CI or when disabled via -Dpre-dex=false.
    preDexLibraries = preDexEnabled && !isTravis
  }

  defaultConfig {
    minSdkVersion 15
    targetSdkVersion 21

    versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild
    versionName "${versionMajor}.${versionMinor}.${versionPatch}"

    buildConfigField "String", "GIT_SHA", "\"${gitSha}\""
    buildConfigField "String", "BUILD_TIME", "\"${buildTime}\""
  }

  buildTypes {
    debug {
      applicationIdSuffix '.dev'
      versionNameSuffix '-dev'
    }
  }

  lintOptions {
    abortOnError false
  }

  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
  }
}

项目中的文件夹

u2020    
|    
|_debug    
| |_AndroidManifest.xml
| |_java
| |_res
| |_assets
|
|_main
| |_androidManifest.xml
| |_java
| |_all other android stuff
|
|_release
| |_java
|
|_build.gradle
|_other stuff 

2 个答案:

答案 0 :(得分:2)

IJ的Gradle项目导入很可能不支持Android,并且正确导入了已应用java个插件的Java项目。 com.android.application扩展java-base但不扩展java。最简单的解决方案是使用Android Studio。

答案 1 :(得分:0)

只需将此项目作为gradle模块导入。它必须工作。

enter image description here