2013-09-29 2 views
20

Я использую Android Studio, и, как вы знаете, импортировать библиотеки, используемые в текущем IDE, как Eclipse, нелегко с Android Studio. Я пытаюсь импортировать библиотеку slidingmenu в свой проект, но я не знаю, как это сделать. Я пробовал, как они сказали по этой ссылке How to import slidingmenu on Intellij Idea? Но я снова не сработал. Поэтому я надеюсь, что кто-то ответит мне и покажет, как это работает.Как импортировать скользящее устройство на Android Studio?

ответ

29

Просто так каждый знает структуру файла, что я имею в вид (что делает работу):

File structure I will be referencing

В вашемbuild.gradle файла приложения убедитесь, что у вас есть:

dependencies { 
    // Your other dependencies go here 
    compile project(':libraries:SlidingMenu') 
} 

В вашем РАЗДВИЖНОГО МЕНЮ-хbuild.gradle файл удостоверяется, что он имеет следующее:

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

apply plugin: 'android-library' 

repositories { 
    mavenCentral() 
} 

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

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.0.1" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 16 
    } 

    sourceSets { 
     main { 
      java.srcDirs = ['src/main/java'] 
      res.srcDirs = ['src/main/res'] 

      manifest.srcFile 'src/main/AndroidManifest.xml' 
     } 
    } 
} 

Вашего ПРОЕКТ файлsettings.gradle должен выглядеть следующим образом:

include ":libraries:SlidingMenu", ':App' 

В андроиде студии нажмите кнопку Tools -> Android -> Sync Project with Gradle Files, а затем восстановить свой проект. Если все пойдет хорошо, вы должны иметь возможность импортировать библиотеку com.jeremyfeinstein.slidingmenu.lib.SlidingMenu в исходные файлы вашего приложения.

+0

Ваши инструкции неплохие, но мне потребовались часы, потому что модуль SlidingMenu не отображался в AndroidStudio. Единственное, что помогло - создать новый макет-модуль. Впоследствии я снова удалил его. – stoefln

5

Я предполагаю, что у вас уже есть проект runnable в android, и вы хотите добавить к нему SlidingMenu lib.

Сначала вы должны экспортировать lib в Eclipse, как описано на android developer site.

чем в AS:

  • создать в корневой папке проекта создается папка с именем «Lib»
  • скопируйте экспортированный проект LIB в эту папку

Теперь вы должны отредактировать Gradle файлы:

  • сначала отредактируйте файл settings.gradle вашего корневого проекта: там вы должны добавить все y наши модули (-> ваш MainProject и все другие зависимости, как ваш Lib), как это:
  • Чем вы должны отредактировать build.gradle файл «MyApp» и добавить зависимости к нему

По крайней мере, вы должны Расскажите своему IDE о projectLib использовании:

  • правой кнопкой мыши на главном модуле "MyApp" -> Open Settings Modeule
  • нажмите на плюс и "модуля импорта"
  • выбрать «build.file "вас скользящийMenuLib

В этом сообщении вы можете увидеть, как add ABS to your project.

Обновление 2013-10-01

Сформировать build.gradle файлы с затмением:

  1. Импорт SlidingMenu проекта в затмении (я предполагаю, что вы знаете, как это сделать)
  2. В Eclipse: Щелкните правой кнопкой мыши по проекту lib -> Export
  3. Выберите: Android -> Создать файлы сборки Gradle

После этих шагов вы должны увидеть файл build.gradle в своем проекте lib.

В Android Studio:

Создайте папку с именем "Lib" в вашем проекте и скопировать весь проект LIB (со сборкой.gradle file) в эту папку.

После этих шагов ваша структура папок должна выглядеть следующим образом:

MyAppProject 
- lib 
    -- SlidingMenu 
    --- build.gradle 
- MyApp 
    -- src 
    -- build.gradle 
    -- MyApp.iml 
- build.gradle 
- settings.gradle 

После этого вы должны отредактировать build.gradle в "MyApp" (-> добавление зависимостей) и settings.gradle в "MyAppProject" (-> включая модули: «MyApp» и «SlidingMenu»). Пожалуйста, посмотрите ниже, как это сделать.

В this post Я попытался импортировать ABS в свой проект. Я думаю, что это полезно, потому что есть несколько важных вещей, объявленных:

  • структура проекта
  • код для build.gradle
  • код settings.gradle

Update 2013-10 -02

buildscript { 
    // define the repo which is to use 
    repositories { 
     mavenCentral() 
    } 
    // define the classpath for Gradle Android Plugin 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.5.+' 
    } 
} 

// declaring that the project is a library 
apply plugin: 'android-library' 

// declaring all dependencies the project needs 
dependencies { 
    // SlidingMenu is using the support lib v4 
    // -> this jar file is included in the folder "libs" 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     // this values you can read out from the Manifest (but I add the right values for you) 
     minSdkVersion 5 
     targetSdkVersion 17 
    } 

    // because Android Studio has a different file structure than Eclipse 
    // you have to say Android Studio where the files are located 
    sourceSets{ 
     main{ 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      // resources.srcDirs = ['src'] 
      // aidl.srcDirs = ['res'] 
      // assets.srcDirs = ['assets'] 
      // renderscript.srcDirs = ['src'] 
     } 
    } 
} 
+0

Я не понимаю ваш первый шаг. Мне жаль, что я начинаю, но можете ли вы показать мне шаг за шагом, как вы это делаете? Это может быть полезно для меня, а для других я думаю. – bengous

+0

Немного сложно дать вам «пошаговую» инструкцию, потому что я действительно не знаю, что вы можете сделать, а что нет (мой ответ выше - это инструкция, но не подробно :)). Я обновил свой ответ ссылкой на вопрос, где у меня была такая же проблема с импортом/включением проектов. Вам не нужно экспортировать проект lib из eclipse, вы можете создать файл build.gradle самостоятельно ... но это будет проще с eclipse (в моем ответе выше я пытаюсь объяснить экспорт) ... Попробуйте чтобы объяснить, каковы ваши проблемы, что вы сделали и где вы получаете ошибки или где вы не смогли. – owe

+0

Большое спасибо за ваше время и объяснения. Я попробую это, когда я войду в свой дом сегодня вечером (я уезжаю во Францию, так что сейчас всего 9:00). – bengous

32

еще лучше: Используйте https://github.com/jzaccone/SlidingMenu-aar

Просто добавьте следующие строки в ваш build.gradle

repositories { 
    maven { url "http://jzaccone.github.io/SlidingMenu-aar" } 
    ... 
} 

dependencies { 
    compile 'com.jeremyfeinstein.slidingmenu:library:[email protected]' 
    ... 
} 

Это немного устарели - но это лучше, чем AndroidStudio не распознает файлы классов (что случилось со мной) и исправление, описанное здесь не получилось: https://stackoverflow.com/a/21170839/1639040

+13

Я не могу поверить, что библиотека имеет более 5 тыс. Звезд, но до сих пор официально не доступна в Maven. – theblang

+0

Получил его работу на allprojects репозиторий. – Machado

+2

Я получаю сообщение об ошибке: (40, 13) Не удалось решить: com.jeremyfeinstein.slidingmenu: library: 1.3 – htafoya

0

http://www.devexchanges.info/2015/05/import-eclipse-library-non-gradle.html

У этого сообщения есть лучший ответ. Но убедитесь, что ваш build.gradle compileSdkVersion buildTollsVersion minsdkVersion и targerSdkversion для приложения и библиотеки совпадают/совпадают.

+2

Скопируйте соответствующие части в ответ. Связывание с внешним ресурсом не рекомендуется в долгосрочной перспективе. – MeanGreen

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