Подтвердить что ты не робот

Не удается перенести проект на Gradle в 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')
    }
}

Как указано, я запустил gradle assembleDebug в окнах терминала Android Studio, но получал некоторые ошибки. Чтобы решить эти ошибки, мне пришлось создать local.properties с sdk.dir=C:\\Program Files (x86)\\Android\\android-sdk и удалить файл android-support-v4.jar из папки /libs и из 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, я получил сообщение: The project MyProject is not a Gradle-based project

Может кто-нибудь помочь мне разобраться, как это решить?

Вот мой проект Структура

enter image description here

4b9b3361

Ответ 1

Проект считает, что проект по-прежнему не является Gradle; это не наличие файла build.gradle, который делает его Gradle, но это то, как проект был настроен в первую очередь. Вам нужно будет повторно импортировать проект, чтобы завершить преобразование в Gradle.

Во-первых, похоже, что у вас нет файла settings.gradle; похоже, что вам это нужно. Поскольку вы создали проект как одномодульный проект, вы можете поместить его в корневой каталог проекта рядом с build.gradle. Он должен содержать следующее:

import ':'

В будущем, если вы добавите больше модулей в свой проект, вы можете преобразовать его в структуру нескольких модулей, но теперь вам не нужно беспокоиться об этом. В любом случае теперь вам нужно выполнить повторный импорт в Android Studio:

  • Закрыть проект
  • Резервное копирование проекта
  • Удалить папку .idea в корневом каталоге проекта
  • Удалите все .iml файлы в вашем проекте
  • Импортируйте проект в Android Studio и в диалоговом окне, запрашивающем файл, выберите файл build.gradle.

После этого вам должно быть хорошо.

Ответ 2

В моем случае, когда я попытался открыть существующий проект gradle, и AS не распознал его как проект gradle, проблема была внутри файла settings.gradle. settings.gradle был поврежден, потому что по какой-то причине точка с запятой отсутствовала. Правильная структура include ':app';, где app - это название проектного модуля.

Кроме того, если вам нужно, вы можете добавить несколько модулей, например: include ':module1', ':module2', ':module3';

Я надеюсь, что это может помочь кому-то.

Ответ 3

В моем случае: Шаг 1: Структура проектa > Настройки .gradle(откройте его и добавьте-- include ': app';.

Шаг 2: Перейти к Gradle вкладке (обычно она присутствует в левой или правой части Android-студии) > Затем нажмите Обновить все Gradle Проект

Шаг 3: Bang....... Надеюсь, его работа. (Его работы для меня)

Ответ 4

Все, что я сделал, это попробовать импортировать проект с помощью опции "import Gradle, Eclipse ETC" в окне запуска Android Studio, выбрал мой импортированный проект gradle -incompatible, а затем он импортировал, спросив меня автоматически, если я хочу создать проект сборки gradle и voila, он корректно импортировал на этот раз без ошибок.

Этот процесс довольно прост, и вам нечего возиться с неприятными настройками, просто следуйте автоматическим исправлениям IDE и он будет работать.

Наконец-то это сработало для меня!

Ответ 5

Просто проверьте, импортируете ли вы правильную папку, содержащую папку.gradle и.idea.

Ответ 6

  • нажмите Файл
  • Нажмите "Импорт проектов"
  • Нажмите "Пользователи", затем "AndroidStudioProjects"
  • Выберите проект и нажмите OK

    ПРИМЕЧАНИЕ. Если вы переходите из eclipse в Android Studio, вы делаете то же самое, но выбираете проекты eclipse.