【发布时间】:2015-04-26 03:45:09
【问题描述】:
我已采取以下步骤迁移到 Android Studio,但现在我不知道出了什么问题。
- 在 Eclipse 中,我导出了 gradle 文件。我这样做是因为在 Android Studio 中导入不是一个选项,因为它会创建项目的副本并且我的项目位于 git 下。
- 在 Android Studio 中,我执行了“打开现有的 Android Studio 项目”并选择 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.
【问题讨论】:
-
“在 Android Studio 中,我做了“打开一个现有的 Android Studio 项目”并选择了 gradle 文件“——它不是一个现有的 Android Studio 项目。选择“导入项目(Eclipse ADT、Gradle 等)”(如果您使用的是 Android Studio 1.1)或“导入非 Android Studio 项目”(如果您使用的是旧版 Android Studio)。它应该会检测到您现有的
build.gradle文件,并且会简单地设置 Android Studio 元数据,而不需要项目副本。 -
如果您能提供帮助,我对我的问题进行编辑!
-
最后,我不得不更改我的 gradle 版本和 gradle 插件版本。等一切都完成后会写一个完整的答案
标签: java android eclipse android-studio gradle