studio 我如何在Android項目中使用外部JAR?




android studio library教學 (10)

將.jar文件複製到Android項目的文件夾並不總是可能的。
特別是如果它是工作區中另一個項目的輸出,並且它不斷更新。

為了解決這個問題,你必須把jar作為鏈接文件添加到你的項目中,而不是導入它(它會在本地複制它)。

在UI中選擇:

項目 - >導入 - >文件系統 - > yourjar.jar - >(選項區)高級 - >在工作區創建鏈接。

該鏈接保存在.project文件中:

<linkedResources>
    <link>
        <name>yourjar.jar</name>
        <type>1</type>
        <locationURI>PARENT-5-PROJECT_LOC/bin/android_ndk10d_armeabi-v7a/yourjar.jar</locationURI>
    </link>
</linkedResources>

PARENT-5-PROJECT_LOC表示相對於項目文件,5個目錄(../../../../../)。

然後將其添加到庫中:
Project - > Properties - > Java Build Path - > Libraries - > Add Jar - > yourjar.jar

在同一個窗口中選擇Order and Export選項卡,並標記你的jar,以便將它添加到apk中。

我創建了一個Android項目,並在我的項目中添加了一個外部JAR(hessian-4.0.1.jar)。 然後,我將JAR添加到構建路徑中,並在“訂購”和“導出”中對其進行了檢查。

Order和Export被忽略,並且外部JAR中的所有類都在運行時丟失。

在使用Eclipse插件構建Android應用程序時,是否有一種方法可以正確包含來自外部JAR的所需類? 我不想使用ant或Maven。


是的,你可以使用它。 這裡是:

  1. 您的項目 - >右鍵單擊 - >導入 - >文件系統 - > yourjar.jar
  2. 您的項目 - >右鍵 - >屬性 - > Java Build Path - > Libraries - > Add Jar - > yourjar.jar

如果您遇到問題,此video可能會有用。


轉到當前項目

RightClick-> Properties-> Java Build Path->將jar文件添加到庫中 - >單擊OK

然後將其添加到當前項目的引用庫文件中。


我知道OP參考Eclipse插件結束了他的問題,但我到達這裡時沒有指定Eclipse的搜索。 所以這裡適用於Android Studio:

  1. jar文件添加到libs目錄(例如復制/粘貼)
  2. jar文件上右鍵單擊並選擇“添加為庫...”
  3. 點擊下一個對話框中的“確定”,或者如果您選擇重命名。

而已!


在Android工作室如果使用gradle

將此添加到build.gradle

compile fileTree(dir: 'libs', include: ['*.jar'])

並將jar文件添加到libs文件夾


我目前使用SDK 20.0.3,以前的解決方案都不適合我。

hessdroid在hess失敗的地方工作的原因是因為這兩個jar文件包含針對不同虛擬機編譯的java。 Java編譯器創建的字節碼不保證在Dalvik虛擬機上運行。 由Android編譯器創建的字節碼不保證在Java虛擬機上運行。

在我的情況下,我可以訪問源代碼,並能夠使用我在這裡描述的方法為它創建一個Android jar文件: https://.com/a/13144382/545064 : https://.com/a/13144382/545064


在你的項目中創建一個文件夾 (如lib), 將你的jar複製到該文件夾中 。 現在通過右鍵單擊項目來配置構建路徑 ,然後在構建路徑中選擇

'添加jar' 瀏覽到您創建的文件夾選擇 jar。


事實證明,在我的堆棧跟踪中我看起來不夠好,問題不在於外部JAR沒有包含在內。

問題在於Android平台缺少javax.naming。*以及外部JAR具有依賴關係的許多其他包。

添加外部JAR文件,並在Eclipse中設置“訂購和導出”按照預期的方式使用Android項目。


如果使用Android Studio,請執行以下操作(我複制並修改了@Vinayak Bs答案):

  1. 在Project sideview中選擇Project視圖(而不是Packages或Android)
  2. 在項目的根文件夾中創建一個名為libs的文件夾
  3. 將您的JAR文件複製到libs文件夾
  4. 側視圖將被更新,並且JAR文件將顯示在您的項目中
  5. 現在右鍵單擊要導入的每個JAR文件,然後選擇“添加為庫...”,該文件將包含在您的項目中
  6. 之後,你需要做的就是引用你的代碼中的新類,例如。 import javax.mail.*

如果您正在使用gradle生成系統,請按照下列步驟操作:

  1. jar文件放入你的android應用程序的相應libs文件夾中。 您通常會在Project > app > libs找到它。 如果libs文件夾丟失,請創建一個。

  2. 將此添加到您的build.gradle文件您的app 。 (不是你的Projectbuild.gradle

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        // other dependencies
    }
    

    這將包括libs文件夾中可用的所有jar文件。

如果不想包含所有的jar文件,那麼你可以單獨添加它。

compile fileTree(dir: 'libs', include: 'file.jar')





class-library