2013-04-13 49 views
1

我似乎無法找到一個答案,我的問題在其他地方,所以也許它不是直線前進,因爲我所期望的......如何判斷我的Android應用程序正在使用哪些庫?

有沒有辦法找出哪些庫我的Android應用程序使用?很可能使用Delvik虛擬機,但是我怎麼知道我是否正在使用媒體框架庫或WebKit或其他任何項目?

聽起來像一個不必要的問題,但我需要寫一篇關於我開發的應用程序的文章,這些信息會有幫助。

在此先感謝!

回答

1

如果使用外部庫,那些將包含在你的/ libs文件夾中。所以你會知道你包含哪些庫。

如果您啓用了proguard,那麼該工具將刪除未使用的類,字段和方法。 ProGuard工具通過刪除未使用的代碼並使用語義上不明確的名稱重命名類,字段和方法來縮小,優化和混淆代碼。結果是一個更小的.apk文件,它更難以反向工程。因此,並不是庫中的所有類都被使用。如果啓用了proguard,那些未使用的類將被刪除。

您的應用程序將android.jar作爲引用庫。它不包含在.apk文件中。您可以解壓縮.apk並查看內容。

這些android。*類不是您的APK文件的一部分,因此不受ProGuard的影響。真正的類在運行時已經在你的進程中,並由固件放在那裏。

enter image description here

所以,你可以去你的AndroidSDK。轉到平臺。打開一個文件夾,比如android-16(對於api版本16)。你會看到android.jar。您可以解壓縮該jar文件並查看它下面的文件。

打開android文件夾,您將成爲數據庫,媒體,webkit等。

你應該看看這個鏈接。 http://developer.android.com/about/versions/index.html

開發人員可以完全訪問核心應用程序使用的相同框架API。

我們在最頂層開發應用程序。假設你想將數據存儲到數據庫,那麼你的應用程序將使用sqlite來存儲數據。

SQLite - 一個功能強大且輕量級的關係數據庫引擎,適用於所有應用程序。

對於其他圖書館也是如此。所以這取決於你的應用程序。

0

通常取決於您的應用程序。 Android包含許多來源的程序代碼。如你所知,例如Webkit,但也有許多來自Apache項目或json.org的不同類。

我會說只是文檔,你使用Android SDK。專家應該有一個想法,包括什麼。

相關問題