2012-07-24 57 views
2

我想將jar添加到Android上的項目。我用maps.jar庫做了一個測試。當我導入該類時,它有一個名爲com.google.android.maps.MapView的類。我得到錯誤包com.google.android.maps不存在 import com.google.android.maps.MapView;在gradle中添加外部jar到Android項目

我嘗試包括在幾個方面這個jar文件到我的gradle.build:

dependencies { 
runtime files('/Users/user/Documents/workspace/MyAndroidApp/libs/maps.jar') 
//runtime fileTree(dir: '/Users/user/Documents/workspace/MyAndroidApp/libs', include: '*.jar') 
//classpath fileTree(dir: '/Users/user/Documents/workspace/MyAndroidApp/libs', include: 'maps.jar')   
} 

不是運氣至今。

有什麼想法? 謝謝!

+0

正如來自android工具站點的描述:>編譯配置用於編譯主應用程序。它中的所有內容都被添加到編譯類路徑中,並且也包裝在最終的APK中。看來它會將所有地圖類打包到APK中。這可以嗎? 任何想法,如果我們只需要運行時參考而不是靜態參考? – user2408489 2013-05-22 07:51:33

回答

4

必須將編譯依賴關係添加到compile配置中(而不是runtimeclass path)。

+0

Yeap它現在的作品。謝謝! – Dayerman 2012-07-24 07:56:07

+0

還有一個問題。如果將.class文件放在文件夾映射下,我可以將它包含爲編譯文件('/ Users/ddayer/Documents/workspace/MyAndroidApp/libs/maps/*')?當我嘗試在我的java項目上使用類時,原因不起作用。 – Dayerman 2012-07-24 10:26:04

+0

類路徑可以包含對包含類文件的單個檔案和目錄的引用。因此'文件(「/ Users/ddayer/Documents/workspace/MyAndroidApp/libs/maps」)應該可以工作。在你需要通配符的情況下,你必須像上面所做的那樣使用'fileTree'。 – 2012-07-24 12:21:48

5

這是我如何得到它去:

  1. 將你的jar文件到libs文件夾。
  2. 右鍵單擊jar文件並選擇「添加庫」現在jar 文件是一個庫。
  3. 打開build.gradle文件(注意至少有兩個build.gradle文件,不要使用root用戶使用您的項目範圍中的文件)。
  4. 找到依賴關係部分(對我來說我試圖向AdMob的 -GoogleAdMobAdsSdk jar文件)

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

  5. 最後進入settings.gradle,並確保它看起來就像 這樣:

    include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'

  6. 最後,轉到Build - >重建項目
相關問題