android jnilibs import - Android Studio:將jar添加為庫?




15 Answers

我一直在努力爭取同樣的事情好幾個小時,試圖讓Gson jar工作不下。 我終於破解了它 - 這是我採取的步驟:

  1. 把Gson jar(在我的情況下, gson-2.2.4.jar )放到libs文件夾中
  2. 右鍵單擊它並點擊“添加為庫”
  3. 如果你正在使用許多jar文件,確保compile files('libs/gson-2.2.4.jar')在你的build.gradle文件中(或者compile fileTree(dir: 'libs', include: '*.jar')

    編輯:在Android Studio 3.0+中使用implementation files('libs/gson-2.2.4.jar') (或implementation fileTree(dir: 'libs', include: '*.jar')

  4. 做一個乾淨的構建(你可以在Android Studio中做到這一點,但要確保我在終端中導航到我的應用程序的根文件夾並鍵入gradlew clean 。我在Mac OS X上,該命令可能會不同你的系統

在我做了上述四個之後,它開始正常工作。 我認為'添加為圖書館'的步驟是我以前錯過的步驟,並且直到我清理它才開始工作。

[編輯 - 添加了其他人指出的也需要的build.gradle步驟]

so library

我試圖使用新的Android Studio,但似乎無法使其正常工作。

我正在使用Gson庫來序列化/反序列化JSON對象。 但該庫不知何故不包含在構建中。

我用一個MainActivity創建了一個新項目。 複製/ libs文件夾中的gson-2.2.3.jar並將其添加為庫依賴(右鍵單擊 - >添加為庫)。 這包括在android studio中的jar,所以它可以從源文件中引用。

當我嘗試運行該項目時,它無法編譯,所以我補充說:

compile files('libs/gson-2.2.3.jar')

到.gradle文件中的依賴關係。 之後,它編譯正確,但運行應用程序時,我得到一個ClassDefNotFoundException

有誰知道我做錯了什麼?




在項目中點擊右鍵

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

按照下面的截圖:

1:

2:

3:

你會看到這個:




IIRC,只需使用“添加為庫”就不足以與項目一起編譯。

查看Intellij有關將庫添加到項目的幫助

最應該感興趣的部分是:

(在File > Project Structure )打開模塊設置,然後選擇依賴性選項卡。

在依存關係選項卡上,單擊添加並選擇庫。

在“選擇庫”對話框中,選擇一個或多個庫並單擊“添加選定”。

如果庫沒有顯示在對話框中,請將其添加到“庫”設置中,位於“模塊”下方。

您不需要再添加compile files() ,並且應該將庫正確添加到您的項目中。




Android Studio中輕鬆添加外部庫

  1. 如果您在項目瀏覽器中的Android視圖中,請將其更改為項目視圖,如下所示

  1. 右鍵單擊想要添加外部庫的模塊,然後選擇New> Directroy並將其命名為' libs '
  2. 現在將blah_blah.jar複製到' libs '文件夾中
  3. 右鍵單擊blah_blah.jar,然後選擇“ 添加為庫 ”。 這會自動添加和輸入build.gradle作為編譯文件('libs / blah_blah.jar')並同步gradle。 你完成了

請注意:如果您使用的是第三方庫,那麼最好在Gradle腳本運行時使用Gradle腳本自動下載JAR和依賴關係JAR的依賴項。

例如:編譯'com.google.android.gms:play-services-ads:9.4.0'

閱讀更多關於Gradle Dependency Mangement的信息




  1. 從網站下載庫文件
  2. 從窗口復制探索
  3. 從Project Explorer粘貼到lib文件夾
  4. Ctrl + Alt + Shift + S打開項目結構
  5. 選擇Dependencies選項卡,使用+添加文件
  6. 工具欄使用按鈕與Gradle文件同步項目

這解決了我的問題。 試試,如果有人想要更多的細節讓我知道。




1.將jar(在我的情況下, gson-2.2.4.jar )放入libs文件夾中。

2.確保編譯文件( libs/gson-2.2.4.jar )在您的build.gradle文件中。

3.現在點擊“使用Gradle文件同步項目”(左上方的AVD manager按鈕)。

在我完成上述三項之後,它開始正常工作。




下載並複制libs文件夾中的.jar文件,然後將這些行添加到build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3.1'
}

不要忘記點擊“立即同步”

Android Studio 1.1.0




你可以用兩個選項來做到這一點。

首先簡單的方法。

將.jar文件複製到剪貼板,然後將其添加到libs文件夾。 要查看項目中的libs文件夾,請從文件夾上方的組合框中選擇項目。

然後右鍵單擊.jar文件並單擊添加為庫,然後選擇一個模塊,然後確定。 你可以在依賴塊中的build.gradle文件中看到.jar文件。

 dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(':okhttp-2.0.0')
        compile 'com.google.code.gson:gson:2.3.1'
    }

第二種方法是:通過將.jar文件作為.jar模塊導入,然後將此模塊添加到我們想要的任何模塊,我們可以將.jar文件添加到模塊。

導入模塊--->選擇你的.jar文件 - >比import導入為.jar -

然後CTRL + ALT + SHIFT + S - >項目結構 - >選擇你想要的模塊添加一個jar - > Dependencendies - > Module Dependency。 模塊的build.gradle會自動更新。




我已經完成了3步以上,並為我的工作魅力。

(我正在使用Android Studio 2.1.2)

步驟1

  • build.gradle(Module:app)下添加你的jar包名稱 (例如compile 'com.squareup.okhttp3:okhttp:3.3.1' )到gradle構建腳本中。

第2步:右鍵單擊應用程序文件夾- >新建 - >模塊

第3步:點擊導入JAR / .AAR包然後瀏覽你的包。 作為例子: OkHttp.jar




創建一個文件夾庫。 添加您的.jar文件。 右鍵點擊它,你會發現添加jar作為依賴。 點擊它。 它的所有你需要做的。 你可以找到添加到你的build.gradle文件的依賴項。




在android Studio 1.1.0中。 我通過以下步驟解決了這個問題:

1:將jar文件放入libs目錄。 (在Finder中)

2:打開模塊設置,進入依賴關係,在左下角有一個加號按鈕。 點擊加號按鈕,然後選擇“文件依賴”。在這裡你可以看到你的jar文件。 選擇它並解決。




在Mac OS X上:

  1. 將jar添加為庫(將jar拖動到libs,右鍵單擊添加為lib)

  2. 將編譯語句添加到build.grade

  3. 安裝gradle v1.6 (使用自製軟件)

    • 釀造安裝gradle
    • gradle -v
    • 如果不是v1.6,升級自製軟件
  4. gradle clean(重建android不工作)

這把我整理出來了。




我已閱讀所有答案,他們似乎都涵蓋舊版Android Studio!

有了使用Android Studio 2.2.3創建的項目,我只需要在app下創建一個libs目錄並將我的jar放在那裡。 我使用我的文件管理器完成了該操作,無需在Android Studio中單擊或編輯任何內容。

它為什麼有效? 打開Build / Edit Libraries和Dependencies ,你會看到:

{include=[*.jar], dir=libs}



我的答案基本上是收集上面提供的一些正確但不完整的答案。

  1. 打開build.gradle
  2. 添加以下內容:

    dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3'
    }
    

    這將允許支持兩種不同的添加依賴的方式。 compile fileTree(dir: 'libs', include: ['*.jar']) (如@Binod提到的)告訴編譯器查看文件夾庫中的ANY jar。 創建一個包含我們的應用程序需要使用的jar包的文件夾'libs'是一個很好的習慣。

但是這也會支持Maven依賴。 編譯'com.google.code.gson:gson:2.3' (正如@saneryee所提到的),另一種推薦的方式是添加中央遠程倉庫中的依賴項,而不是在我們的/ libs“本地倉庫”中。 它基本上是告訴gradle尋找那個版本的包,它告訴編譯器在編譯項目時考慮它(把它放在類路徑中)

PS:我都用




  1. 在“app”級別添加“libs”文件夾。
  2. 在這個項目中添加了所有的“罐子”。
  3. 接下來,選中“libs”文件夾中的所有jar文件,
  4. 右鍵單擊選定的項目,並說“添加庫”
  5. 那麼你會在項目瀏覽器中找到jar擴展選項。

我觀察到“CTRL + ALT + SHIFT + S - >項目結構 - >應用程序模塊 - >依賴關係”已經有一個條目為“(dir:'libs',include:'* .jar')”編譯選項“,最初。 按照上述步驟添加jar之後,“build.gradle”獲得了新添加jar的條目,本身。




Related