前言:Android SDK代理服務器解決國內Android SDK不能更新下載問題,經常會遇到Fitch fail URL錯誤,要不就是Nothing was installed。目下Google遭受在中國用戶史上的嚴冬(堪比The ice age),餘花了三天時間去搞這個代理問題,但是收效甚微,因爲許多代理都不起作用了。寫此篇博客的目的是:一方面是爲了向大家徵求最新的解決方案,另一方面是爲了讓更多的Android的開發者把時間用到業務和技術實現上去而不是糾結於環境搭建。下面介紹下我用過的代理方式:
1.方式一:無界代理
此款代理軟件不錯,支持本地代理、局域網代理和廣域網代理。如不能直接代理可使用經典代理模式。
設置:在SDK Manager 界面Tools>Options...下設置代理服務器的IP(如:127.0.0.1(本地代理))和代理服務器的端口(如:80(服務器默認端口,這裏是9666))。
2. 方式二:GoAgent代理
此款代理工具目前在國內使用還是很廣泛的,但是最近不是很方便了,經常是找不到代理數據源,如果上Google玩有時候直接斷開連接,而且後臺很多連接找不到並且有警告產生(警告是小事 問題是找不到代理網站的數據不能進行正常的訪問)。
設置略。
3. 方式三:mirrors.neusoft.edu.cn鏡像代理
浩然 2015-2-10 14:56:58
ubuntu.buct.edu.cn
浩然 2015-2-10 14:57:04
mirrors.neusoft.edu.cn
啓動SDK Manager界面Tools>Options...下進行如下操作:
體驗效果圖:
注:1和2代理感覺不怎麼好用,3鏡像代理的方式感覺比上面兩種要好很多。以上三種代理的設置方式都是一樣的,只是第三種用的是界面的直觀表達。
一句命令快速合併 JS、CSS
在項目開發環境下,我們會把 JS 代碼儘可能模塊化,方便管理和修改,這就避免不了會出現一個項目自身 JS 文件數量達到 10 個或者更多。
而項目上線後,會要求將所有 JS 文件合併爲 1 個或者幾個,手動的操作雖然也不是問題,但每次修改更新都要手動操作合併一遍,這就肯定是個噩夢了。
這種情況下,一些工具也就隨之產生,比如在線合併,一些網站提供js文件上傳,然後合併,但這還是很麻煩,如果開發環境沒有網絡呢?
這會我就想到了 windows 系統下的 cmd 裏的 copy 命令,它雖然是個複製的功能,但實則也是可以實現合併文件的需求,下面就看下這句代碼:
copy
a.js+b.js+c.js abc.js /b |
相信不會太多編程的人閱讀上面那句代碼也能大致讀懂意思:通過 copy 命令將 a.js b.js c.js 合併爲一個 abc.js,最後的 /b 表示文件爲二進位文件,copy 命令的其它參數可以在 cmd 裏輸入 copy /? 學習,這裏就不再細述。
說到這裏,其實 windows 本身就可以完成我們的需求,也不用安裝什麼其它工具了,下面我們要做的就是將這一切操作更簡單。
我們在項目存放 JS 的文件夾下新建一個 TXT 文件,將代碼複製進去,並修改需要合併哪些文件,最後保存並將 TXT 修改爲 BAT 後綴,如:
copy
core.js+hros.app.js+hros.appmanage.js+hros.base.js+hros.copyright.js+hros.desktop.js+hros.dock.js+hros.folderView.js+hros.grid.js+hros.maskBox.js+hros.navbar.js+hros.popupMenu.js+hros.searchbar.js+hros.startmenu.js+hros.taskbar.js+hros.uploadFile.js+hros.wallpaper.js+hros.widget.js+hros.window.js+hros.zoom.js+templates.js+util.js
core.min.js /b |
接下來我們雙擊下那個 BAT 文件,看到效果了吧?這就是我們想要的。以後每次上線前,只需雙擊下這個文件,系統就會自動合併並生成一個合併好的文件,比起其它什麼工具,這個的效率簡直無法直視。
如果你本地還安裝過 UglifyJS 這個工具,可以在代碼後面加一句壓縮的代碼,如:
copy
core.js+hros.app.js+hros.appmanage.js+hros.base.js+hros.copyright.js+hros.desktop.js+hros.dock.js+hros.folderView.js+hros.grid.js+hros.maskBox.js+hros.navbar.js+hros.popupMenu.js+hros.searchbar.js+hros.startmenu.js+hros.taskbar.js+hros.uploadFile.js+hros.wallpaper.js+hros.widget.js+hros.window.js+hros.zoom.js+templates.js+util.js
core.min.js /b uglifyjs
core.min.js -m -o core.min.js |
這樣每次合併好後就自動壓縮了,又省了一步操作。
CSS 合併同理。