我需要在Android應用程序中存儲一些敏感信息。如果我把它放在一個資源文件中,看起來對於其他應用程序來說只需使用PackageManager.getResourcesForApplication()即可瀏覽和讀取該文件是微不足道的。在Android應用程序中如何存儲敏感的全局信息,如API密鑰?
哪裏是把這樣的信息,我們不希望人們能夠很容易地窺探正確的地方嗎?
它應該在編譯的java文件中嗎?或者,類文件也易於閱讀?另外,如果它們在java文件中,是否有可能從需要它們的XML文件中引用它們(例如,針對Google Maps API密鑰)?
您在apk中分發的所有內容都是可讀的。只要把它放在資源/ java文件中,只要它是無價值的東西,如API密鑰。如果是你的信用卡號碼,請不要把它放在一邊。僅在XML IIRC中映射API密鑰工作 – zapl
在ProGuard網站上,他們提到[DexGuard](http://www.saikoa.com/dexguard),它允許對靜態字符串(API密鑰)進行更好的混淆處理。如果投入一些錢並不是一個問題,檢查他們提供什麼可能是值得的麻煩。 – harism