在Android Studio中将现有项目从Eclipse转换为Gradle

时间:2014-09-14 12:28:57

标签: android gradle android-studio android-gradle

我找到了一个我想要开发的开源项目但是我在设置初始配置时遇到了麻烦。该项目似乎是用Eclipse编写的,我试图让它与Android Studio一起使用。在经历了许多错误之后,我终于坚持在运行之前在配置菜单中看到以下错误。

AndroidManifest.XML doesn't exist or has the incorrect root tag

我发现了许多建议,例如this建议我使用sync project with Gradle命令,但我的项目没有使用Gradle设置,因为我正在建立其他人的项目。这是我第一次使用Android Studio,因此我以下尝试解决这个问题可能并不是很好。我决定尝试通过添加自己的build.gradlesettings.gradle文件来使项目成为Gradle项目。我的布局如下:

顶级:

top level

在java文件夹中:

enter image description here

我尝试复制构建和设置Gradle文件的工作示例。我的settings.gradle包含以下内容:

include ':'

我的顶级build.gradle包含:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        //compile project(":")
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

我的java级别build.gradle包含:

apply plugin: 'android'

android {
    compileSdkVersion 20
    buildToolsVersion "17.0.0"

    defaultConfig {
        applicationId "org.pocketworkstation.pckeyboard"
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1037
        versionName "v1.37"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            res.srcDirs = ['res']
            jni.srcDirs = ['jni']
        }
        androidTest.setRoot('tests')
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

因为我认为这可能很重要,我的项目结构模块:

 project structure modules

此刻尝试同步不产生任何单词,所以我认为没关系,但这是一个很大的假设。我有什么想法要改变吗?

1 个答案:

答案 0 :(得分:2)

Android Studio不认为您的项目是基于Gradle的项目;您可以这样说,因为您在“项目结构”对话框中看到的许多条目不会显示在基于Gradle的项目(即项目,库,构面和工件)条目中。关闭项目并将其重新导入为基于Gradle的项目,您应该没问题。