2013-02-06 53 views
1

我爲我的設備製作了一個自定義的framework.jar。這個新框架包含一個我想在我的應用程序中使用的新API。不幸的是,除了我在java構建路徑中包含自己的framework.jar,eclipse沒有看到我的新API並拋出編譯時錯誤。 如何配置eclipse來使用我的自定義framework.jar而不是android SDK中的jar?總部設在@Yuri的回答和其他一些見解配置eclipse使用我自己的Android SDK(framework.jar)

[編輯]

,我創建了一個工具(實際上它是一個shell腳本)創建於Android SDK中一個新的平臺和合並的jar文件到它。這是一個在XDA論壇提供下載,以及指令的使用方法:http://forum.xda-developers.com/showthread.php?t=2619775

回答

4

要建立SDK,你應該運行下面的命令:

make update-api 
make sdk 

由於Android的API已經被修改命令make update-api增加了新的API。命令make sdkout文件夾中創建SDK。

然後,使用新的SDK開始在Eclipse中開發您的應用程序,您應該添加這個新的SDK。有兩種可能性來做到這一點。第一個來自「嵌入式Android」一書。我就在這裏複製:

假設你在已經配置Eclipse進行Android開發利用在 - structions ,你需要 開展兩個額外的步驟,使用您的新建SDK 。首先, 您需要告知Eclipse新SDK的位置。爲此,請將 轉至窗口→首選項→Android,在 「SDK位置」框中輸入新SDK的路徑,然後單擊確定。另外,由於撰寫本文時作者完全不清楚 的原因,您還需要轉到Window→「Android SDK管理器」,取消選擇除第一個以外可能被選中的所有項目 兩個在「工具」下並點擊 「安裝2個軟件包...」完成後,您將能夠使用新SDK創建 新項目並訪問您在 中公開的任何新API。如果你沒有做第二步,你就可以創建新的 Android項目,但它們都不會正確解析Java庫 ,因此永遠不會構建。

至於第二個那就是:

  1. 找到你新的版本SDK的壓縮(用於Linux它的駕駛室在這裏 out/host/linux-x86/sdk/找到)
  2. 解壓這個包到一個文件夾
  3. 內這個文件夾你可以找到這個目錄叫做 platforms/android-2.3.3
  4. 重命名文件夾android-2.3.3<your_name>
  5. 複製這個文件夾放到安裝 以下位置您的SDK管理器:android-sdk-linux/platforms
  6. 找到這個文件夾文件build.prop內,分配給屬性 ro.build.version.sdk任何負數: ro.build.version.sdk=-10
  7. 現在運行SDK管理器你會注意到你新增了一個sdk。 只需創建新的Eclipse項目並選擇此sdk作爲目標。
+0

out/host/linux-x86 /中沒有sdk /文件夾,只有bin /,framework /,lib /,obj /和usr/ –

+0

@ Plinio.Santos我已經添加了說明如何構建sdk 。 – Yury

0

試試這個:

  • 創造新floder在項目中投入floder名稱=「庫」
  • 這裏包括圖書館。
  • 並運行應用程序
  • 我希望它的工作
+0

在這種情況下,我認爲我的自定義framework.jar會包含在我的apk中,是不是?我想要的是我的應用程序直接從設備使用這個新的API。 –

0

這是個好問題!我想你的提示對於Android Studio用戶也很有用。

僅供參考,的IntelliJ用戶,你也可以這樣做:

  1. 項目設置>模塊>單擊依存關係選項卡>點擊「+」按鈕>選擇「JAR文件或目錄」
  2. 找到。 JAR,然後選擇它
  3. 移動的.jar上的相關性(甚至SDK之前)
  4. 變化範圍爲「提供」(而不是「編譯」)
列表的頂部

通過第4步,您可以避免製作巨大的.dex。 (你的apk不會包含framework.jar。)

+1

也許值得注意的是,它是底部附近的「+」按鈕(在Dependencies選項卡本身中),*不是窗口最左上方的「+」按鈕。我第一次錯誤地點擊了後者,並且花了我一大筆時間。 –

相關問題