我一直在尋找ICS和JB(API15 & API16)的android源代碼,並且發現(在我)看來代碼和jar文件之間不匹配。更具體地說,在SpeechRecognizer.java存在於Settings.Secure.VOICE_RECOGNITION_SERVICE,它採用的是Android /供應商/ Settings.java子類安全下定義爲Android jar和源代碼不匹配?
public static final String VOICE_RECOGNITION_SERVICE = "voice_recognition_service";
但參考,當我試圖從引用VOICE_RECOGNITION_SERVICE我自己的代碼,它無法解決。在Eclipse中,當我瀏覽jar文件時,我沒有看到VOICE_RECOGNITION_SERVICE定義。實際上,在jar文件中找不到在Java源代碼中定義爲公共的Settings.Secure中的許多字段。我想知道爲什麼,如果jar文件是使用源文件創建的,我無法訪問VOICE_RECOGNITION_SERVICE。如果一個字段在源代碼中被聲明爲公共的,那麼它不應該從.jar文件訪問嗎?