2013-07-08 2 views
8

Я пытаюсь добавить каталог в качестве зависимости в Android Studio (GameBaseUtils). Я видел другие ответы SO, просто отправляя правильную конфигурацию градиента для их конкретной проблемы, однако я не понимаю, как я могу адаптировать свои ответы к моей ситуации.Ошибка модуля сборки модуля Android Studio

Вот что я сделал:

Шаг один: File-> Import Module -> Перейдите в каталог и выберите его.

Шаг 2-: Файл-> Структура проекта-> Модули-> Выберите мое приложение-> Зависимости-> Добавьте модуль в зависимость от моего проекта.

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

Gradle: package com.google.example.games.basegameutils does not exist 
Gradle: cannot find symbol class BaseGameActivity 
Gradle: cannot find symbol variable super 
... 

Вот файл build.gradle для моего приложения

buildscript { 
repositories { 
    mavenCentral() 
} 
dependencies { 
    classpath 'com.android.tools.build:gradle:0.4' 
} 
} 
apply plugin: 'android' 

dependencies { 
compile files('libs/android-support-v4.jar') 
} 

android { 
compileSdkVersion 17 
buildToolsVersion "17.0.0" 

defaultConfig { 
    minSdkVersion 8 
    targetSdkVersion 17 
} 
} 

Как правильно импортировать эту внешнюю библиотеку и можете ли вы объяснить, как и почему ваше решение работает?

ответ

8

так вот как я решил мою проблему:

вместо добавления

dependencies { 
    compile files('libs/android-support-v4.jar') 
    compile project(':Module') 
} 

Вы должны написать:

dependencies { 
    compile files('libs/android-support-v4.jar', '../Module') 
} 

на 2 точки говорят, что модуль (или каталог) можно найти в 1 каталоге выше фактического. поэтому, если вы хотите получить доступ к модулю, который находится в 2 каталогах выше, вам просто нужно написать: '../../ModuleName'

Вы должны добавить модули вручную в build.gradle, потому что Android Studio все еще находится в разработке и не закончила Пользовательский интерфейс для редактирования структуры проекта.

Если это не решит проблему, попробуйте сделать так: (Я бы рекомендовал этот метод.Это, как я на самом деле сделать это)

Examplestructure:

  • Проект

    • библиотеки (обычная папка)
      • Module2
    • Module1

settings.gradle

include ':Module1', ':libraries:Module2' 

build.gradle (Модуль1)

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile project(':libraries:Module2') 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.0.1" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 11 
    } 
} 

build.gradle (Module2)

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 
apply plugin: 'android-library' 

dependencies { 
    compile 'com.android.support:support-v4:18.0.0' 
} 

android { 
    compileSdkVersion 18 
    buildToolsVersion "18.0.1" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 11 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
     } 
    } 
} 

Это должно хорошо работать в настоящее время. Для того, чтобы все работало на 100% следить за этим шаги:

  1. удалить .idea папку
  2. удалить все *.iml файлы
  3. Restart Android Studio и нажмите Import Project
  4. Выберите каталог с Gradle проекта
  5. Import project from external model > Gradle> следующая> закончить

С этими шагами все должно работать хорошо. Если есть какие-то проблемы, просто скажите мне :)

+0

Содержит ли ссылка на ваш ответ? Это действительно помогло мне, и я хотел бы принять это как ответ. – KDEx

+0

Я улучшил свой ответ. 1-й - это путь с удаленной ссылкой. второй - тот, который я бы рекомендовал – maysi

-1

Не добавляйте модули через интерфейс Studio. Всегда делайте изменения непосредственно в build.gradle, а затем повторно импортируйте в Studio.

Также обновите зависимость плагина до com.android.tools.build:gradle:0.4.+, чтобы получить последнюю версию версии 0.4. *.

Смежные вопросы