无法在 Android Studio 中将项目迁移到 Gradle
我有一个已在 Android Studio 中运行的项目.
I have a project that I already run in Android Studio.
在 Android Studio 中打开项目后,我收到消息:
After I've opened the project in Android Studio I got the message:
将项目迁移到 Gradle?该项目不使用 Gradle 构建系统.我们建议您迁移到使用 Gradle 构建系统.有关迁移到 Gradle 的更多信息不再显示此消息.
按照有关迁移到 Gradle 的更多信息的链接虽然我已经在 Android Studio
上,但我遵循了选项 从 IntelliJ 项目迁移 .
Following the link of More Information about migrating to Gradle although I'm already on Android Studio
I've followed the option Migrating from IntelliJ Projects .
因为我已经在我的项目的根目录下有一个 build.gradle
文件,所以我已经修改以包含一些依赖项.
Since I've already have a build.gradle
file at the root of my project I've modified to include some dependencies.
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')
}
}
按照说明,我已经在 Android Studio
终端窗口上运行了 gradle assembleDebug
,但遇到了一些错误.为了解决这个错误,我必须用 sdk.dir=C:\\Program Files (x86)\\Android\\android-sdk
创建一个 local.properties
并删除/libs
文件夹中的 android-support-v4.jar
文件和 Project Structure 中的
Libraries->libs
.
As instructed, i've ran gradle assembleDebug
on the Android Studio
terminal windows but was getting some errors. To solve this errors I had to create a local.properties
with sdk.dir=C:\\Program Files (x86)\\Android\\android-sdk
and remove the android-support-v4.jar
file from the /libs
folder and from the Libraries->libs
from the Project Structure
.
我现在再次运行 gradle assembleDebug
并且这次它没有任何错误地完成.
I now ran again gradle assembleDebug
and this time it finishes without any errors.
我已经重新启动 Android Studio
但在重新启动后我看到在项目的 External Libraries
上没有 support-v4
> 和 appcompat-v7
并且在我的一个类中,我将 import android.support.v4.widget.CursorAdapter;
标记为错误,因为 Cannot resolve symbol Cursor适配器
.
I've restarted Android Studio
but after restarting I've saw that on the External Libraries
of the project there were no support-v4
and appcompat-v7
and in one of my classes I have the import android.support.v4.widget.CursorAdapter;
marked as error since Cannot resolve symbol Cursor Adapter
.
如果我按下按钮 Sync project with gradle files
我收到消息:MyProject 项目不是基于 Gradle 的项目
If I press the button Sync project with gradle files
i got the message: The project MyProject is not a Gradle-based project
有人能帮我弄清楚如何解决这个问题吗?
Can someone help me figuring out how to solve this?
这是我的项目结构
该项目认为它仍然是一个非基于 Gradle 的项目;并不是 build.gradle 文件的存在使它基于 Gradle,而是项目最初是如何设置的.您需要重新导入您的项目以完成到 Gradle 的转换.
The project thinks it's still a non-Gradle based project; it's not the presence of the build.gradle file that makes it Gradle-based, but it's how the project was set up in the first place. You'll need to re-import your project to finish the conversion to Gradle.
首先,您似乎没有 settings.gradle 文件;看起来你需要一个.由于您已将项目设置为单模块项目,因此您可以将该文件放在项目的根目录中,紧挨着 build.gradle.它应该包含这个:
First, though, it looks like you don't have a settings.gradle file; it looks like you need one. Since you've set up your project as a single-module project, then you can put the file in your project's root directory, next to build.gradle. It should contain this:
import ':'
将来如果您向项目添加更多模块,您可能希望将其转换为多模块目录结构,但您现在无需担心.无论如何,现在您需要在 Android Studio 中重新导入:
In the future if you add more modules to your project you may want to convert it to a multi-module directory structure, but you don't need to worry about that now. In any event, now you need to do the re-import in Android Studio:
- 关闭您的项目
- 备份您的项目
- 删除项目根目录下的.idea文件夹
- 删除项目中的所有 .iml 文件
- 在 Android Studio 中导入您的项目,然后在提示您输入文件的对话框中,选择 build.gradle 文件.
- Close your project
- Back up your project
- Delete the .idea folder in the root directory of the project
- Delete all the .iml files in your project
- Import your project in Android Studio, and in the dialog that prompts you for a file, choose the build.gradle file.
在此之后,您应该可以开始了.
After this you should be good to go.