Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Eclipse导入到Android Studio不工作_Java_Android_Eclipse_Android Studio_Gradle - Fatal编程技术网

Java 从Eclipse导入到Android Studio不工作

Java 从Eclipse导入到Android Studio不工作,java,android,eclipse,android-studio,gradle,Java,Android,Eclipse,Android Studio,Gradle,我已经采取了以下步骤来迁移到Android Studio,但现在我不知道出了什么问题 在Eclipse中,我导出了gradle文件。我这样做是因为在androidstudio中导入不是一个选项,因为它会创建项目的副本,而我的项目在git下 在androidstudio中,我确实“打开了一个现有的androidstudio项目”,并选择了gradle文件 因为我的原始项目使用Maven作为Maven依赖项,所以我将所有这些都添加到gradle文件中 结果:build.gradle文件中的大部分内容

我已经采取了以下步骤来迁移到Android Studio,但现在我不知道出了什么问题

  • 在Eclipse中,我导出了gradle文件。我这样做是因为在androidstudio中导入不是一个选项,因为它会创建项目的副本,而我的项目在git下
  • 在androidstudio中,我确实“打开了一个现有的androidstudio项目”,并选择了gradle文件
  • 因为我的原始项目使用Maven作为Maven依赖项,所以我将所有这些都添加到gradle文件中
  • 结果:build.gradle文件中的大部分内容都是灰色的,告诉我它无法解析符号[name]。当我构建时,我有100多个错误,所有这些错误都与不存在的依赖项有关(gradle没有完成它的工作)。另外,我在过去几天一直在使用gradle项目,文件通常总是要求同步,它会在构建项目之前构建gradle文件。就我而言,这一点都不重要。好像我的项目不知道他需要使用gradle,或者gradle的配置不正确。这是我的gradle文件和一些屏幕截图,帮助你理解我的问题。感谢您的帮助

    build.gradle:

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
        }
    }
    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 15
        buildToolsVersion "19.1.0"
    
        defaultConfig {
            applicationId "XXXXXX"
            minSdkVersion 15
            targetSdkVersion 15
    
            testApplicationId "XXXXXXX"
            testInstrumentationRunner "android.test.InstrumentationTestRunner"
        }
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    
        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
            }
        }
    
        packagingOptions {
            exclude 'META-INF/notice.txt'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/license.txt'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/ASL2.0'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/NOTICE'
        }
    
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src/main/java']
                resources.srcDirs = ['src/main/java']
                aidl.srcDirs = ['src/main/java']
                renderscript.srcDirs = ['src/main/java']
                res.srcDirs = ['res']
                assets.srcDirs = ['assets']
            }
        }
    }
    
    dependencies {
        compile group: 'com.google.android', name: 'android', version: '4.1.1.4'  //provided
        compile group: 'org.springframework.android', name: 'spring-android-core', version: '1.0.1.RELEASE'
        compile group: 'commons-io', name: 'commons-io', version: '1.4'
        compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
        compile group: 'org.codehaus.jackson', name: 'jackson-core-asl', version: '1.9.13'
        compile group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.13'
        compile group: 'com.google.code.gson', name: 'gson', version: '2.3'
        compile group: 'org.java-websocket', name: 'Java-WebSocket', version: '1.3.0'
        compile group: 'joda-time', name: 'joda-time', version: '2.3'
        compile group: 'net.erdfelt.android', name: 'apk-parser', version: '1.0.2'
        compile group: 'org.apache.commons', name: 'commons-compress', version: '1.9'
        testCompile group: 'junit', name: 'junit', version: '4.12'
        testCompile group: 'org.mockito', name: 'mockito-core', version: '1.10.8'
        testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: '1.6.1'
        testCompile group: 'org.powermock', name: 'powermock-api-mockito', version: '1.6.1'
    }
    
    android studio中的屏幕截图:

    Android视图中没有gradle子文件夹?这正常吗

    谢谢大家!

    编辑 我确实喜欢评论中的建议。我似乎更进一步,但我得到的信息是:“Gradle项目同步失败。基本功能无法正常工作”。在下面的消息中,我有这个。我能做什么

    Error:Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'.
    Possible causes for this unexpected error include:<ul><li>You are using JDK version 'java version "1.7.0_75"'. Some versions of JDK 1.7 (e.g. 1.7.0_10) may cause class loading errors in Gradle.
    Please update to a newer version (e.g. 1.7.0_67).
    <a href="open.project.structure">Open JDK Settings</a></li><li>Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
    <a href="syncProject">Re-download dependencies and sync project (requires network)</a></li><li>The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
    <a href="stopGradleDaemons">Stop Gradle build processes (requires restart)</a></li></ul>In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
    
    错误:无法加载类“org.codehaus.groovy.runtime.typehandling.ShortTypeHandling”。
    此意外错误的可能原因包括:
    • 您正在使用JDK版本“java版本”1.7.0_75“。JDK1.7的某些版本(例如1.7.0_10)可能会导致Gradle中的类加载错误。 请更新到更新的版本(例如1.7.067)。
    • Gradle的依赖项缓存可能已损坏(这有时会在网络连接超时后发生。)
    • 渐变生成进程(守护进程)的状态可能已损坏。停止所有Gradle守护进程可以解决此问题。
    如果Gradle进程损坏,也可以尝试关闭IDE,然后关闭所有Java进程。
    如果这可以帮助任何人,下面是我执行迁移所遵循的步骤

    导出build.gradle文件

    • 进入EclipseADT项目并单击File/Export。选择 “Android”文件夹和“生成Gradle构建文件”选项
    • 按照向导操作,只选择要导出的项目
    • 您的原始项目中应该有一个新的build.gradle文件 根
    将Maven依赖项转换为gradle

    如果您使用的是Maven依赖项,那么您的所有依赖项如下所示:

    <dependency>
        <groupId>org.springframework.android</groupId>
        <artifactId>spring-android-core</artifactId>
        <version>1.0.1.RELEASE</version>
    </dependency>
    
    如您所见,如果需要编译依赖项,请将关键字“compile”放在它前面。如果是为了测试,请使用关键字“testCompile”。 暂时将其保存在临时文件中

    安装Android Studio并对其进行配置 从以下位置安装Android Studio: 在下载/安装时,打开先前生成的build.gradle文件并更改以下内容。替换

    apply plugin: 'android'
    

    确保您的“buildScript”代码块如下所示

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
        }
    }
    
    最后,在android代码块之外添加存储库和依赖项信息

    repositories {
        mavenCentral()
    }
    dependencies {
       compile 'com.google.android:android:4.1.1.4'
       ...
    }
    
    现在安装了Android Studio,请打开它。选择“导入项目(Eclipse ADT、Gradle等)”并导航到build.Gradle文件。 Android Studio现在应该创建运行项目所需的所有元数据和文件。如果您的计算机上的工具版本有错误,请返回Android Studio的简介屏幕并选择“配置/SDK管理器”。下载项目运行所需的任何内容。 在项目中时,进入“文件/项目结构”。在项目选项卡中,确保gradle版本为2.2.1,android插件为1.1.0。 下一步应该是创建一个配置并在可用的USB设备或模拟器上运行它


    你可以走了

    在Android Studio中,我确实“打开了一个现有的Android Studio项目”并选择了gradle文件——它不是一个现有的Android Studio项目。选择“导入项目(EclipseADT、Gradle等)”(如果您在Android Studio 1.1上)或“导入非Android Studio项目”(如果您在较旧的Android Studio上)。它应该检测到你现有的
    build.gradle
    文件,并将简单地设置Android Studio元数据,而不需要项目副本。如果你能提供帮助,我将对我的问题进行编辑!检查这个最后,我不得不改变我的gradle版本和gradle插件版本。当一切都完成后,我会写一个完整的答案
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.1.0'
        }
    }
    
    repositories {
        mavenCentral()
    }
    dependencies {
       compile 'com.google.android:android:4.1.1.4'
       ...
    }