Google 可能會在 Android P 中更嚴格限制隱藏 API 的使用

簡評:Google 對於 Android 的安全限制似乎越來越嚴了。

每年都有不少的 Android 發燒友會等不及開始探尋下一個版本的 Android 中會有什麼有趣的變化。最近 AOSP(Android Open Source Project)中的一個發現引起了一些開發者的興趣。根據最近的一些提交,應用可能會被更嚴格的限制使用 Android SDK 文檔中未記錄的 API(比如,被 @hide 標記的 API)。

Android SDK 為開發者提供了開發和測試 Android 應用所需的 API 和工具。每一代 Android 新版本都意味著有一系列新的 API 可供開發者使用。而應用程序能使用哪些 API 取決於開發者所設置的 compileSDKVersion。

Google 在文檔中列出了每個類在各 API 級別所提供的方法,這些都是能夠被正常使用的。然而,並非所有的 API 都會在文檔中被列出,或是能通過 Android SDK 被正常調用的。有些 API 是「隱藏的」,但有時卻很有用。因此,有的開發者會通過反射等方法來使用這些隱藏或未公開的 API 來實現一些其他開發者(堅持使用 Android SDK 所提供的 API)很麻煩或根本無法提供的功能。

在 Android P 最近被合併的一個提交中,引入了一個名為 hidenapi 的構建工具(build tool)。其會和 API 黑名單一起工作,來阻止開發人員以靜態鏈接、反射或 JNI 的方式訪問被黑名單標記為 hiddenapi 的 API。

事實上,更多的 commit 顯示,這可能早已是在 Google 計劃中了。比如,下面的這個提交:

目前來看,還很難說這會造成多大的影響。但如果你已經或考慮通過 AOSP 尋找隱藏 API 來使用,那可能就需要重新考慮考慮了。

原文:Google May Remove Access To Undocumented/Hidden APIs In Android P

日報擴展閱讀:

  • Hevin:Google 開始加速應用對 Android 新版本的支持和對老設備的淘汰
  • Google 高級 Android 開發課程發布

推薦閱讀:

Google 開發者大會紀念 T 恤贈送(全球限量)
如何在Android上發送加密郵件?推薦這四大神器
如何在 Android 上使用思源黑體作為系統字體?
對於這段話,你怎麼看?

TAG:Android | Android开发 |