更新我的Mac上的Android SDK和相應文檔後,本地存儲文檔的搜索結果停止鏈接到正確的位置。搜索結果鏈接到根(「/」)而不是本地文檔目錄(ANDROID_SDK_DIRECTORY/docs /)。搜索沒有鏈接到本地Android SDK文檔的正確位置
「文檔的Android SDK」是API版本16和修訂是1
更新我的Mac上的Android SDK和相應文檔後,本地存儲文檔的搜索結果停止鏈接到正確的位置。搜索結果鏈接到根(「/」)而不是本地文檔目錄(ANDROID_SDK_DIRECTORY/docs /)。搜索沒有鏈接到本地Android SDK文檔的正確位置
「文檔的Android SDK」是API版本16和修訂是1
作爲一種變通方法,我編輯的文檔,Javascript文件之一。 已編輯的函數在文件ANDROID_SDK_DIRECTORY/docs/assets/js/search_autocomplete.js中爲search_changed(約第174行)。增加了以下的功能的啓動:
var cur_loc = window.location.pathname;
var slash_doc_slash = cur_loc.indexOf("/docs/");
if (slash_doc_slash >= 0) {
var after_bit = cur_loc.substr(slash_doc_slash + "/docs/".length);
var after_bit_length = after_bit.length;
var up_dots = "";
for (var i = 0; i < after_bit_length; i++) {
var test_ch = after_bit.charAt(i);
if (test_ch == "/") {
up_dots += "../";
}
}
toroot = up_dots;
}
閱讀js文件ANDROID_SDK_DIRECTORY/docs/assets/js/search_autocomplete.js
後,在我看來,搜索結果是由谷歌網頁搜索API繪製。如果我們想修改搜索結果,我們必須重寫搜索引擎部分的代碼。
看起來搜索框只是向谷歌的服務器提供查詢,該服務器使用https://developer.android.com上的URL進行回覆。爲了在本地SDK上搜索和打開頁面,我使用這個shell腳本:
#!/bin/sh
if [ -z $SDK_BASE ]; then
SDK_BASE=/opt/android-sdk
fi
launched_new_window="false"
for f in `find $SDK_BASE/docs/ -iname \*$1\*.html`; do
if [ $launched_new_window = "false" ]; then
/usr/bin/chromium-browser --new-window $f
launched_new_window=true
else
/usr/bin/chromium-browser $f
fi
done