![](/img/trans.png)
[英]Can't open APK game in Android studio, wants to migrate to Gradle?
[英]Can't migrate project to Gradle in Android Studio
我有一个已经在 Android Studio 中运行的项目。
在 Android Studio 中打开项目后,我收到以下消息:
将项目迁移到 Gradle? 该项目不使用 Gradle 构建系统。 我们建议您迁移到使用 Gradle 构建系统。 有关迁移到 Gradle 的更多信息 不再显示此消息。
按照有关迁移到 Gradle的更多信息的链接,虽然我已经在Android Studio
我已经按照从 IntelliJ 项目迁移的选项进行了操作。
因为我已经在我的项目的根目录下有一个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')
}
}
按照指示,我在Android Studio
终端窗口上运行了gradle assembleDebug
,但遇到了一些错误。 为了解决这个错误,我必须用sdk.dir=C:\\\\Program Files (x86)\\\\Android\\\\android-sdk
创建一个local.properties
并从/libs
文件夹中删除android-support-v4.jar
文件以及来自Project Structure
的Libraries->libs
。
我现在再次运行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
我收到消息: The project MyProject is not a Gradle-based project
有人可以帮我弄清楚如何解决这个问题吗?
这是我的项目结构
该项目认为它仍然是一个非基于 Gradle 的项目; 并不是build.gradle文件的存在使它基于 Gradle,而是项目最初是如何设置的。 您需要重新导入您的项目以完成到 Gradle 的转换。
不过,首先,您似乎没有settings.gradle文件; 看起来你需要一个。 由于您已将项目设置为单模块项目,因此您可以将该文件放在项目的根目录中,在build.gradle旁边。 它应该包含以下内容:
import ':'
将来,如果您向项目添加更多模块,您可能希望将其转换为多模块目录结构,但现在您无需担心。 无论如何,现在您需要在 Android Studio 中重新导入:
在此之后,您应该可以开始了。
就我而言,当我尝试打开一个现有的 gradle 项目并且 AS 无法像 gradle 项目那样识别它时,问题出在settings.gradle
文件中。 settings.gradle
已损坏,因为出于某种原因,缺少分号。 正确的结构是include ':app';
其中 app 是项目模块的名称。
另外,如果你需要,你可以放置多个模块,像这样: include ':module1', ':module2', ':module3';
我希望它可以帮助某人。
就我而言:第 1 步:项目结构 > Settings.gradle(打开它并添加 -包括 ':app'; 。
第 2 步:转到 Gradle 选项卡(通常出现在 Android Studio 的左侧或右侧)> 然后单击刷新所有 Gradle 项目
第 3 步:砰……我希望它起作用。(它对我有用)
我所做的只是尝试在Android Studio的启动窗口中使用“import Gradle,Eclipse ETC”选项导入项目,选择要导入的与gradle不兼容的项目,然后通过自动询问我是否要导入来导入一个 gradle 构建项目,瞧它这次正确导入,没有错误。
该过程非常简单,无需摆弄讨厌的设置,只需按照 IDE 自动修复操作即可。
最后这对我有用!
只需检查您是否正在导入包含 .gradle 和 .idea 文件夹的正确文件夹
选择您的项目,然后单击确定
注意:如果您要从 eclipse 迁移到 Android Studio,那么您可以做完全相同的事情,但选择 eclipse 项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.