我有一个项目已经在Android Studio中运行。
在Android Studio中打开项目后,我收到了消息:
将项目迁移到Gradle? 该项目不使用Gradle构建系统。我们建议您迁移到使用Gradle构建系统。 有关迁移到Gradle的更多信息 请勿再次显示此消息。
关注More Information about migrating to Gradle的链接,虽然我已经Android Studio
,但我已经按照Migrating from IntelliJ Projects选项。
由于我已经在项目的根目录中有一个build.gradle
文件,我已修改为包含一些依赖项。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile "com.android.support:support-v4:18.0.+"
compile "com.android.support:appcompat-v7:18.0.+"
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
按照说明,我在gradle assembleDebug
终端窗口上运行Android Studio
,但收到了一些错误。要解决此错误,我必须使用local.properties
创建sdk.dir=C:\\Program Files (x86)\\Android\\android-sdk
,然后从android-support-v4.jar
文件夹中删除/libs
文件,从{{1}中删除Libraries->libs
文件}}
我现在又跑了Project Structure
,这次它完成没有任何错误。
我已重新启动gradle assembleDebug
但重新启动后,我在项目的Android Studio
上看到没有External Libraries
和support-v4
并且在我的一个课程中我将appcompat-v7
标记为自import android.support.v4.widget.CursorAdapter;
以来的错误。
如果我按下按钮Cannot resolve symbol Cursor Adapter
,我收到了消息:Sync project with gradle files
有人可以帮我弄清楚如何解决这个问题吗?
这是我的项目结构
答案 0 :(得分:76)
该项目认为它仍然是一个非基于Gradle的项目;不存在使其成为基于Gradle的 build.gradle 文件,但它首先是项目的设置方式。您需要重新导入项目才能完成转换为Gradle。
首先,看起来你没有 settings.gradle 文件;看起来你需要一个。由于您已将项目设置为单个模块项目,因此可以将该文件放在项目的根目录中,紧邻 build.gradle 。它应该包含这个:
import ':'
将来如果向项目中添加更多模块,可能需要将其转换为多模块目录结构,但现在不需要担心。无论如何,现在您需要在Android Studio中重新导入:
在此之后你应该好好去。
答案 1 :(得分:3)
在我的情况下,当我尝试打开现有的gradle项目并且AS没有像gradle项目那样识别它时,问题出在settings.gradle
文件中。 settings.gradle
已损坏,因为由于某种原因,分号丢失了。正确的结构是include ':app';
,其中app是项目模块的名称。
此外,如果您需要,可以放置多个模块,如下所示:include ':module1', ':module2', ':module3';
我希望它可以帮助别人。
答案 2 :(得分:3)
就我而言:第1步:项目结构&gt; Settings.gradle(打开并添加 - 包含':app'; 。
第2步:转到Gradle标签(通常出现在Android Studio的左侧或右侧)&gt;然后单击刷新所有Gradle项目
第3步: Bang .......我希望它的工作。(它适用于我)
答案 3 :(得分:1)
我所做的只是尝试在Android Studio的启动窗口中使用“import Gradle,Eclipse ETC”选项导入项目,选择要导入的gradle-incompatible项目,然后通过自动询问我是否导入想要制作一个gradle构建项目,并且这次没有错误,它确实正确导入了。
这个过程非常简单,没有什么可以摆弄令人讨厌的设置,只需按照IDE自动修复程序进行操作即可。
最后这对我有用!
答案 4 :(得分:0)
只需检查是否要导入包含.gradle和.idea文件夹的正确文件夹
答案 5 :(得分:-2)
选择您的项目,然后单击确定
注意:如果您从eclipse转移到Android Studio,那么您可以做同样的事情,但选择eclipse项目。