2013-09-29 63 views

回答

29

就這樣每個人都知道我指的是(這不工作)的文件結構:

File structure I will be referencing

在你APP的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' 

Android Studio中按Tools -> Android -> Sync Project with Gradle Files按鈕,然後重新生成項目。如果一切順利,您應該可以將com.jeremyfeinstein.slidingmenu.lib.SlidingMenu庫導入到您應用的源文件中。

+0

您的指示非常好,但仍需要幾個小時,因爲SlidingMenu模塊沒有顯示在AndroidStudio中。唯一有幫助的是創建一個新的虛擬模塊。之後我再次將其刪除。 – stoefln

5

我假設你已經在android中有一個runnable項目,並且你想添加SlidingMenu庫到它。

首先,您應該像在android developer site中描述的那樣在Eclipse中導出庫。

比AS:

  • 創建根項目文件夾名爲「LIB」
  • 導出的項目的lib複製到這個文件夾

文件夾現在你必須編輯gradle這個文件:

  • 首先編輯你的root項目的settings.gradle文件:在那裏你必須添加所有y我們的模塊( - >您MainProject和所有其他依賴像你LIB)是這樣的:
  • 比你要編輯build.gradle文件「MyApp的」和依賴,加入到它

至少你必須告訴IDE有關projectLib你使用:

  • 右鍵單擊您的主模塊「MyApp的」關於 - >打開Modeule設置
  • 點擊加號和「導入模塊」
  • 選擇「build.file 「 你的 slidingMenuLib

在這篇文章中,你可以看到如何add ABS to your project

更新2013年10月1日

生成的build.gradle文件與Eclipse:

  1. 導入SlidingMenu項目在Eclipse(我假定你知道該怎麼做)
  2. 在Eclipse中:右鍵單擊項目庫lib - > Export
  3. 選擇:Android - >生成Gradle構建文件

完成這些步驟後,您應該在項目庫中看到一個build.gradle文件。

在Android Studio中:

創建一個名爲項目中的 「LIB」 文件夾,複製整個項目的lib(與構建。gradle文件)到此文件夾中。

經過這些步驟後您的文件夾結構應該是這樣的:

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

這一點,你必須在 「MyApp的」 編輯build.gradle後( - >添加依賴)和 「MyAppProject」(settings.gradle - >包括模塊:「MyApp」和「SlidingMenu」)。請看下面的帖子怎麼做。

this post我試着將ABS導入到我的項目中。 我認爲這是有幫助的,因爲有幾個宣告重要的事情:

  • 項目結構
  • 代碼的build.gradle
  • 代碼settings.gradle

更新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

給你一個「循序漸進」的指令有點困難,因爲我真的不知道你可以做什麼,不知道什麼(我的回答已經是一條指令,但沒有詳細說明:))。我更新了我的答案,並提供了一個問題鏈接,其中包含導入/包含項目庫的相同問題。你不需要從eclipse導出項目庫,你可以自己創建build.gradle文件...但是使用eclipse會更簡單(在我的回答中,我嘗試解釋導出)...嘗試解釋你的問題是什麼,你做了什麼,你在哪裏得到錯誤或者你失敗了。 – owe

+0

非常感謝您的時間和解釋。今晚我進入家時,我會試試這個(我現在離開法國,現在只是9點)。 – 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

我不能相信圖書館已經超過5k星,但仍然沒有在Maven正式提供。 – theblang

+0

在所有項目存儲庫中工作。 – Machado

+2

我收到錯誤:(40,13)無法解析:com.jeremyfeinstein.slidingmenu:library:1.3 – htafoya