2013-03-30 100 views
2

(ADK 21,NDK R 8D,R Eclipse的朱諾) [我已經建立了幾個Android應用程序,以便體面的使用體驗ADK/NDK等]調試Android原生位於依賴Eclipse項目

Eclipse項目設置:

- AppProject (android, java, no jni) 
- LibProject (android, java, Yes jni) 

以前,它都是在一個項目中 - 構建良好,運行良好,本地調試效果很好。

然後我分離出「可重用」部分,以便製作一個通用代碼庫,以便與多個「AppProject」應用程序前端一起使用。 (一切仍然建立,鏈接,打包和運行沒關係)

但是,當我運行「AppProject」時,我不能再調試本機庫。

解決方案是什麼?

可能的選項#1:

- Modify "LibProject" Android.mk to export a PreBuilt that is used by AppProject? 
- (I would have all the debug symbols so I'm thinking that would work okay) 

我是否需要cnature的AppProject呢?換言之,所以它有一個Android.mk從LibProject

。所以導入輸出

可能的選項#2

- http://stackoverflow.com/a/14344377/735533 
- that workaround uses ndk-gdb 
- I'm hoping for a solution where I can debug LibProject in Eclipse directly when running AppProject 

是否有更好的方法來調試位於依賴項目「原生代碼LibProject「運行主應用程序」AppProject「時?

蒂亞

回答

0

對於那些好奇......

  • 我試圖prebuilts ...
    • ,它肯定似乎是要走的路(測試項目設置工作)
    • 但代碼庫的結構對於本地/非本地串擾有點沉重,並且不想花時間(尚未)在此刻做適當的重組。
    • 但是,以結構調整預構建的是我的「重要待辦事項」列表上現在

任何地方,這裏是我的解決方案。

在Linux上(unix口味)...使用鏈接 - 源代碼從LibProject鏈接到每個AppProject。

基本上「LibProject」在開發過程中變成了一種「模板」 - 它不是直接構建或用作庫。相反,每個AppProject都變成了自給自足的獨立應用程序,其中庫項目的內容嵌入到自己的代碼樹中。最好的部分是本地調試再次像魅力一樣。

雖然它排序失敗的好處 - 有一個共同的代碼庫的「庫」部分......這是我真正想要的暫時。

此外,通過應用程序項目(例如最終版本構建)將轉換用作真正的庫依賴關係是一個簡單的開關。一旦調試準備就緒後,庫可以單獨構建,通常與應用程序「前端」一起打包,並獨立於應用程序進行升級。