0
我從另一個文件導入這個項目,一切順利的話,除了這個奇怪的一塊代碼片段找不到MemoryFile類
MemoryFile memoryFile = new MemoryFile(null, length);
memoryFile.writeBytes(buffer, 0, 0, length);
memoryFile.deactivate();
return AssetFileDescriptor.fromMemoryFile(memoryFile);
日食無效()函數抱怨說,關閉功能在MemoryFile類 以及不具有fromMemoryFile函數的AssetFileDescriptor中不存在。 這很奇怪,因爲根據以下鏈接,deactivate和fromMemoryFile功能存在。 但SDK似乎無法找到它們,或者android.jar似乎沒有包含它們。
真正奇怪的是,「官方Android文檔」中的兩個函數「不存在」。
我將Properties-> Android中的「Project Build Target」從Android 2.1更改爲2.3,但問題仍然存在。我也在網上進行了廣泛的搜索,但奇怪的是,「沒有人」曾問過同樣的問題。
有什麼建議嗎? 謝謝。
有什麼方法可以使用這些隱藏的API?這些是唯一的兩個錯誤,如果有某種方法可以從android.jar中公開那些隱藏的API,以便編譯器可以識別它們,那麼我認爲錯誤將消失... – Externalist 2012-08-02 06:57:51
有幾種方法可以獲得那麼:1)如果所需的文件是獨立的實用程序類,則可以將它們複製到項目中並使用它們。2)如果您的系統上構建了aosp,則可以使用另一個未推薦的方法:使用'classes-debug-full。在'out/target/common/obj/JAVA_LIBRARIES'中將''from'framework_intermediates'中的jar包含在項目中作爲系統庫。這個罐子裏有所有的內部apis,因此這個項目將會建立。但是如果你試圖在其他任何版本上運行它,而不是從你拿過該jar的版本上運行它,這可能會中斷。 – 2012-08-02 07:04:05
我關注了這個帖子(http://blog.naver.com/PostView.nhn?blogId=ncs10066&logNo=80156493486)並且修復了它! :)'隱藏的API'是解決問題的一個很棒的提示。萬分感謝! XDDD – Externalist 2012-08-02 07:46:26