【发布时间】:2015-03-06 06:36:15
【问题描述】:
由于 Android Studio 将成为 Android 开发的默认 IDE,我决定将现有项目迁移到 Android-studio。项目结构似乎不同,我的项目中的文件夹层次结构如下:
Complete Project
->.idea
-> build
-> Facebook SDK
-> MainProject
-> ... (Other Libraries)
build.gradle
local.properties
settings.gradle
...
External Libraries
-> Android API 8 Platform
-> Android API 18 Platform
-> Android API 19 Platform
-> 1.7 Java
-> support-v4-19.1.0
我的 MainProject 有一个 libs 文件夹,其中包含项目中使用的不同 jar。令人惊讶的是,它不包含我的 eclipse 项目中存在的 android-support-v4 jar。因此,似乎根目录下的外部库文件夹必须处理它。
但导入后,当我尝试编译项目时,开始为某些与 android 支持库相关的类抛出“未找到符号错误”。
例如:Android Studio 中的自动完成功能为我提供了来自 android.support.v4.app.NotificationCompat 的 NotificaitonCompat 建议,但是当我尝试编译我的项目模块时它显示
错误:(17, 30) 错误:找不到符号类 NotificationCompat 错误:任务 ':app:compileDebugJava' 执行失败。> 编译失败;有关详细信息,请参阅编译器错误输出。
对于相同的支持库,这也发生在许多其他类中。我尝试插入一个 jar 并在 MainProject 的 build.gradle 中进行了相同的更改,但错误仍然存在。
我什至尝试重新启动并再次构建项目,但没有任何改变。
编辑: 我在 MainProject 中附加 Gradle 文件
MainProject 模块中的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "package.app"
minSdkVersion 8
targetSdkVersion 19
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
dependencies {
compile project(':facebookSDK')
compile project(':library')
compile project(':volley')
compile 'com.google.android.gms:play-services:+'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile 'com.android.support:support-v4:19.1.0'
compile files('libs/FlurryAnalytics_3.3.3.jar')
compile files('libs/universal-image-loader-1.8.4.jar')
....
}
【问题讨论】:
-
你在 Build.gradle (Module App) 中添加依赖了吗?
-
当我将项目从 Eclipse 导入到 android-studio 时,默认情况下它们就在那里。
-
去 Android SDK\extras\android\m2repository\com\android\support\support-v4 看看你有哪个版本的支持库?
-
我有 18.0.0、19.0.1、19.1.0、21.0.0、21.0.2 等的支持库
标签: java android eclipse android-studio