[自製軟體~開發者 only] 挖掘未公開 API 的工具

http://developer.android.com/reference/packages.html 是每位 Android 開發者必然會報到的網站, 這裡列出了 Android 上所有公開的 API. 但您知道在開放的 API 後頭, Google 或開發廠隱藏了多少好用的 API 嗎?

在 Android 2.3 時, Google 開放了藍芽連線的 API. 但又有多少人知道, 其實在 Android 2.2 上, 藍芽連線就已經可以使用, 只是這些 API 被刻意隱藏了. 在 Android 3.0 上, Google 發佈了用來加速 3D 運算的 Package "android.randerscript", 但這組 package 也早在 Android 2.2 就隱身在 device 上, 只是沒有人發覺它的存在. 又有多少人知道, 要怎麼挖出 device 上 SMS 相關的資料表格式?

因此, 在下以過去在 Android 2.2 上盜用未開放的藍芽 API 經驗, 撰寫了這支工具. 用來協助開發者挖掘與取用這些被私藏的寶藏, 這些寶藏的數量超乎想像. 在 Android 官方網頁上發佈了 3112 個 class, 但在 Galaxy Nexus 上, 實際上可以挖掘出 9082 個 class. 換句話說, 有超過 5000 個 class 是被隱藏的.

取得這些 API, 也許您就能讓自己的 app 擁有原屬於開發廠的神力, 可以作出原本無法實現的夢幻功能. 一起來挖掘這些被 Google 和開發廠據為己有的特殊功能吧.

http://market.android.com/details?id=com.twrd.yulin.classminer
2012-03-05 14:05 發佈
推一下,我也是開發者,這些資源真的是好物啊~
我蠻好奇的是,Google 和開發廠商隱藏這些 class 的用意在哪呢?
應該不是刻意隱藏吧。API 一旦放出來了就得維護相容性,也許是 Google 還沒完全確定部份 API 的設計就暫時不公開。不過也可能是其他原因。

使用reflection就可以call任何class了

getmethod, invokeMethod 這是很基本的java概念~

重點是真正關鍵性的行為 你不是system call了也沒用

你做APP 在神也沒辦法system

Gpc wrote:
使用reflecti...(恕刪)

Gpc 所言沒錯...
以小弟的經驗, 有些功能確實是被系統給鎖死的...
有的鎖 permission, 我還看過一個最狠的, 鎖 PID...

但僅有極小部分的功能被用這種方式來封鎖...
絕大部分的功能都可以透過動態載入的方式來使用...
@ addre

請問, 安佐依德的秘密 的以下功能, 有參考資料可以得知如何實現的嗎?

* 關鍵字快速查詢
* 樹狀資料呈現方式
* 圖片預覽

p.s. 玩票寫程式的我, 是這個月才開始學 Android/Java 程式的, 希望沒有問錯問題
http://eucaly61.blogspot.com/ - -

在下這隻程式的並沒有參考網路上的範例程式, 是透過查詢 API 文件自行打造.
因此我僅能概述我的時作方式.
BlueWing wrote:
* 關鍵字快速查詢

在這支程式裡, 因關鍵字可能的比對來源較廣, 在此採用最簡單的迴圈逐一比對.
如果您的過濾內容較簡單, 建議透過 java.util.Arrays 的 binarySearch 進行, 可獲得較高的效率.

BlueWing wrote:
* 樹狀資料呈現方式

在程式裡, 我用來顯示類似樹狀資料的元件為 android.widget.ExpandableListView.

BlueWing wrote:
* 圖片預覽...(恕刪)

程式中圖片的顯示, 使用的是最基本的 android.widget.ImageView.
當然, 位了能在列表中顯示圖片, 我的 ExpandableListView 搭配了對應的 android.widget.ExpandableListAdapter 來進行資料與畫面的處理.
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?