A. GitHub 上有哪些完整的 iOS-App 源碼值得參考
1. Coding iOS 客戶端
Coding官方客戶端. 筆者強烈推薦的值得學習的完整APP.
GitHub - Coding/Coding-iOS: Coding iOS 客戶端源代碼
2. OSCHINA 的 iPhone 客戶端
開源中國的iPhone客戶端源碼
https://git.oschina.net/oschina/iphone-app
3. Git@OSC
Git@OSC iPhone 客戶端,方便用戶查看Git@OSC的項目以及簡單的操作issue等
oschina / git-osc-iphone
4. Firefox for iOS
GitHub - mozilla/firefox-ios: Firefox for iOS
5. zulip-ios
Dropbox收購公司內部社交服務商Zulip,然後全部開源,這是iOS App
GitHub - zulip/zulip-ios: Zulip iOS app
6. iOSSF
SegmentFault官方App
GitHub - gaosboy/iOSSF: SegmentFault官方App
7. iReddit
Reddit iPhone客戶端
GitHub - reddit/iReddit: The iReddit iPhone app
8. Monkey
GitHub第三方iOS客戶端
GitHub - coderyi/Monkey: Monkey is a GitHub third party client for iOS,to show the rank of coders and repositories.
9. Watch
Dribbble第三方客戶端
GitHub - tuesda/Watch: A project which demonstrate how to develop a custom client on android for dribbble.com
10. Voice2Note
懶人筆記iOS客戶端
GitHub - liaojinxing/Voice2Note: 懶人筆記iOS客戶端
11. RSSRead
「已閱」(iOS上開源RSS新聞閱讀器)
GitHub - ming1016/RSSRead: 「已閱」(iOS上開源RSS新聞閱讀器),有興趣?那就Pull Requests吧
12. BeeFancy
BeeFancy仿Fancy官方APP的WIREFRAME,基於BeeFramework
GitHub - BeeFramework/BeeFancy: 仿Fancy官方APP的WIREFRAME,基於BeeFramework
13. SXNews
模仿網易新聞做的精仿網易新聞
GitHub - dsxNiubility/SXNews: High imitation Neteasy News. (include list,detail,photoset,weather,feedback)
14. Doppio
尋找最近的星巴克
GitHub - chroman/Doppio: An open source iOS app to find the nearest Starbucks store using NSURLSession, AFNetworking 2.0, Mantle and Starbucks private API.
15. Anypic
類似於Instagram的一款App
GitHub - ParsePlatform/Anypic: An open source mobile and web app that lets users share photos similar to Instagram
16. 豆瓣相冊
Slowslab iOS應用 豆瓣相冊 精選集 開源項目
GitHub - TonnyTao/DoubanAlbum: Slowslab iOS應用 豆瓣相冊 精選集 開源項目,僅供學習參考
17. ChatSecure-iOS
Objective-C寫的XMPP聊天應用
GitHub - ChatSecure/ChatSecure-iOS: ChatSecure is a free and open source encrypted chat client for iPhone and Android that supports OTR encryption over XMPP.
18. NotificationChat
Objective-C寫的完整的聊天應用
GitHub - relatedcode/EncryptedChat: This is a full native iPhone app to create realtime, text based group or private chat with Parse and Firebase.
19. FakeZhihuDaily
仿知乎日報iOS客戶端
GitHub - gnou/FakeZhihuDaily: 仿知乎日報iOS客戶端
20. ruby-china-for-ios
RubyChina官方客戶端
GitHub - ruby-china/ruby-china-for-ios: Ruby China client for iOS
21. Meizi
豆瓣妹子圖iOS客戶端
GitHub - Sunnyyoung/Meizi: 豆瓣妹子圖iOS客戶端
22. PlainReader
一款 iOS(iPhone + iPad) 新聞類客戶端,內容抓取自http://cnBeta.com
PlainReader/PlainReader at master · guojiubo/PlainReader · GitHub
23. iOS-2048
用Objective-C實現的2048游戲
GitHub - austinzheng/iOS-2048: iOS drop-in library presenting a 2048-style game
24. ECMobile_iOS
基於ECShop的手機商城客戶端
GitHub - GeekZooStudio/ECMobile_iOS: 基於ECShop的手機商城客戶端
25. wikipedia-ios
維基網路官方App, 已上架
GitHub - wikimedia/wikipedia-ios: The official Wikipedia iOS app.
26. Sol
漂亮的扁平風格的天氣App
GitHub - comyarzaheri/Sol: Sol° beautifully displays weather information so you can plan your day accordingly. Check the weather in your current location or any city around the world. Implemented in Objective-C.
B. 8個免費且功能強大的軟體,全都開源
在軟體領域,開源軟體是一個很重要的分支。開發者可以利用開源社區的各項目代碼進行二次開發,用戶也可以用成品直接作為一些付費軟體的替代品,因為絕大多數開源軟體都是可免費使用(當然也有一些開源軟體是授權付費才能使用),所以出了一期《10個免費且強大的開源軟體,不花錢真爽》,這期文章得到不少小夥伴的收藏,後台跟我說想要收集更多免費開源軟體。安排!後續整理成專欄形式方便大家翻閱。
其實,現在很多第三方的torrent下載客戶端都是基於【qBittorrent】進行二次修改,所以如果你想用原汁原味的,那直接用【qBittorrent】這個完全無廣告且免費的開源下載工具即可,配置好Tracker伺服器地址,掛著速度也不差。
【diagrams】是一個開源免費的繪制流程圖和示意圖的軟體,相信很多人也知道,在流程圖繪制軟體這個類目,被許多人青睞的就是微軟的【Microsoft Office Visio】了,不過Visio是收費軟體,而【diagrams】是完全免費。
可以看到,【diagrams】提供了流程圖、UML圖、腦力圖等非常多的模板等,滿足用戶悉輪的各種制圖需求。普通用戶使用我認為是不輸【Visio】的,完全可以勝任專業制圖需求了,包括提供了多種圖形供用戶挑選,如箭頭、基本、通用等;有各種各樣的UML類圖,能滿足日常使用需求;可以將畫布縮小進行查看,並能夠進行圖層設置;有數字排版、插件、標簽、配置等選項;視圖中有網格、陰影、參考線、便箋本等之類等等,功能上可以說是非常齊全的。
關鍵是免費啊,太香了。
【bongo cat mver】是一款畫風很萌的創意桌面,它以一隻非常可愛的小貓咪的形式展示,能夠根據滑鼠、鍵盤操作做出相應的動作,你在滑鼠鍵盤上按下什麼鍵,這只小貓咪就會同步按下這些鍵位。另外一共有四種模式供用戶選擇,包括鍵鼠、繪畫、手柄還有純鍵盤,另外它支持用戶自定義設置五十多個音頻和按鍵,並且可以動手diy小貓的形象,趣味性十足。
既然提到pdf,就不得不說另外一個用戶熱需求——PDF閱讀器,其實這類工具非常多,其中不乏佼佼者如Adobe Acrobat Pro DC,國產的福昕PDF閱讀器等老牌軟體,從軟體功能的角度毫無疑問它們是極其優秀的,但它們不是有的功能要付費,就是體積稍大。普通用戶大多隻需要簡單的閱讀功能即可。
那麼只需《Sumatra PDF》這款軟體即可,它是一款免費開源的pdf閱讀器, 此軟體免費、小巧,除了pgup/pgdn翻頁外,還可用p/n(previous,netx)翻頁,功能極度精簡,速度很快。甚至它還支持電子書(ePub, Mobi),XPS,DjVu,CHM和 漫畫書(CBZ和CBR)等格式,簡直是一個閱讀神器。另外還官網還提供了免安裝版本,也就是說你可以放在網盤或U盤上,在任何一台Win系統的電腦使用。
相信不少用戶這幾年都發現,現在的視頻站點越來越多使用M3U8這種格式,是因為M3U8可以做多碼率的適配,根據網路帶寬,客戶端會自動選擇一個適合自己碼率的文件進行播放,保證視頻流的流暢。但是它的文件也是又多又碎,想要下載回來其實會有很多文件,那就得用專門的下載工具才能完整下載。譬如【M3U8-Downloader】使用了基於FFmpeg開源技術,使用非常方便,只需睜純信要輸入m3u8地址,選擇需要的視頻格式,比如mp4,再選擇下載路徑,然後點擊下載,M3U8-Downloader就會幫你把這個播放列表裡的視頻都下載回來,並且自動合並成一個視頻文件。【M3U8-Downloader】自帶嗅探功能,視頻格式支持 FLV、MP4、MKV 和 TS。
不得不吐槽微軟自帶的圖片瀏覽器真是弱雞,支持的格式並不是很多,而且稍微大一點的圖片載入就比較卡頓。【ImageGlass】是一款免費常用的開源圖像瀏覽工具,支持常見的超過70種圖像格式,絕對夠你用的。顯示圖片速度更加流暢,載入更加快速,另外還可以將圖片轉換不同格式,界面設計也比以前介紹過給大家的開源圖片瀏覽褲鉛器XnView要好看很多,更現代化的設計。
【OBS studio】是一款開源的錄屏軟體,主要是主播用於直播的工具。OBS studio輸出格式多,輸出質量高,支持60FPS,支持1080p,支持實時推流(直播用),系統佔用少的不掉幀,另外它還擁有高性能實時視頻/音頻捕獲和混合,帶有每個源濾波器的直觀音頻混合器,例如雜訊門,雜訊抑制和增益。全面控制VST插件支持。
【OBS studio】還可以創建由多種錄制來源組成的視頻場景,包括窗口捕獲,圖像,文本,瀏覽器窗口,網路攝像頭,捕獲卡等,不限數量。簡單來說,就是你希望錄屏的時候,在視頻里邊顯示什麼內容,都可以自定義。
1、先簡要設置好視頻和音頻的輸出參數。
2、在軟體界面下方的「來源」功能區,點擊 + 號,添加我們要錄制的場景,這里我們選擇「顯示器捕獲」即可,就可以錄制整個屏幕了。
3、當然有的小夥伴會問,如何自定義錄屏的位置和大小呢?猿仔告訴大家一個逆向思維方法,即通過拉大源場景,使得場景大於錄制框,然後拖動場景,就可以實現自定義錄屏的位置了。
4、最後點擊軟體界面右下角的「開始錄制」,錄制完畢後,點擊同個按鈕,結束錄制。文件會自動保存至默認路徑下(路徑詳見軟體的輸出設置)。
綜上,OBS studio雖然功能強大,性能強勁,但是初學者可能不太好上手,可能會遇到各種問題。比如添加捕獲源的時候沒反應,這就需要將NVADIA設置里邊的3D設置,將OBS軟體的首選圖形處理器改為集成圖形。有興趣的小夥伴可以試試,在技術層面,OBS配得上最良心這三個字。
C. 開源閱讀好開發嘛
開源閱讀不太好開發,有一定的難度性,你可以購買一些這樣那樣的開源軟體的教程或者圖書(包括電子書)去學習,但一定不要以這些學習材料為主要的學習這些開源軟體的方法和途徑,有機會的話,或者說你想要學習的開源軟體所使用的開發語言正好是你熟悉或者使用的編程語言,那麼你應該盡量多去以閱讀這些開源項目的源碼本身為主。舉個例子,如果你是 C/C++ 後端開發者,那麼像 Redis、Nginx(它們都是使用 C 編寫的)這樣的開源項目的源碼你應該認真的去研讀一下;如果你是做 Windows C/C++ 客戶端或者一名 QT 客戶端開發人員,那麼像 MFC、DUILIB、金山衛士等源碼,你可以拿來讀一讀;如果你是 java 程序員,Netty、Spring 等源碼是你進階路上必須邁過去的一關。為什麼建議以閱讀相關源碼為主,而不是其他相關教程呢?首先,任何其他相關教程介紹的內容都是基於這個軟體的源碼實現創作出來的,雖然能幫助你快速理解一些東西,但是不同的教程作者在閱讀同樣一份代碼時的注意點和側重點不一樣,加上如果作者在某些地方有理解偏差的,這種偏差會被引入你所學習的教程或者圖書裡面,也就是說,你學習的這些東西其實不是第一手的,而是經過別人加工或者理解意譯過的,在這個過程中如果別人理解有偏差,那麼你或多或少的會受一點影響。所以,為了"不受制於人」,親自去閱讀一些源碼是非常有必要的。以上是開源閱讀開發的部分內容,具體還是得自己去驗證和設計祝您生活愉快,謝謝提問😊
D. linux下有沒有類似SourceInsight的代碼閱讀工具
Linux啊,這個系統其實挺好用的,無奈的就是微軟的windows傳播的太廣,用戶依賴度太高,不然的話我們可以看到兩分天下的盛況。有一個軟體叫Docfader,事實上,這不是一個特殊的代碼閱讀軟體,但它是一個桌面搜索引擎,你可以添加任何文件目錄df資料庫中生成的,然後你就可以像使用谷歌搜索的內部文件名稱和內容。由於源代碼純文本的性質,很適合使用搜索引擎輔助閱讀。因為我已經有了這個東西,所以我不喜歡查看拿畢VisualStudio、Eclipse或任何其他IDE中的代碼(盡管VS 2015的峰值定義特性非常酷),不需要進行調試。SourceInsight甚至根本沒高絕有打開它。
希望你用的開心。
E. 開源軟體、開源代碼的開源是什麼意思
到網上給你找的比較詳細的解釋:開源(Open Source,開放源碼)被非贏利軟體組織(美國的Open Source Initiative協會)注冊為認證標記,並對其進行了正式的定義,用於描述那些源碼可以被公眾使用的軟體,並且此軟體的使用、修改和發行也不受許可證的限制。 開放源碼軟體通常是有版權 (right ) 的,它的許可證可能包含這樣一些限制:著意地保護它的開放源碼狀態,著者身份的公告,或者開發的控制。實際上,開源軟體同時涉及源碼本身和開發過程,涵蓋了三個方面的意義:免費分發的源代碼、模塊化的體系和集市式的開發--在這種開發方式中,任何地方的任何人都可以參與最終產品的製造,三個方面互相之間有密切的聯系,集市式的開發過程給開源軟體以強大的改錯能力,因為它將程序中的錯誤公開給了數量巨大的觀眾,他們都是潛在的改錯者。另一方面,任何人都可以復用和發行開源軟體的代碼這一事實又支持了公眾利益,因為創新的觀念被整個集市所共享。另外,"open source"這一術語還被延伸到其他智力團體中,指那些可通過公開手段獲得的智力資源,比如報紙、教學課件等。 美國一些進步的評論家指出,在象網路這樣的虛擬環境中,驅動系統的底層代碼,尤其是廣為人知的那些應用程序之間的通信協議,它們在某種意義上很象現實社會中的法規。換句話說,這些代碼對網上的行為給出了一些規范,它鼓勵某些行為,而限制其他行為,就像現實社會的法律一樣。因此,開放源碼帶來了一個更民主的開發方式,在這種方式下,好的主意將被集體分享,而不是作為智力資本被個人秘藏著。在這種意義上,開放源碼實質上成為一種政治哲學。 開放源碼的精神在於使用者可以使用、復制、散布、研究、改進軟體。最早可以 回朔到1960年代。當時,售賣大型計算機的廠商如IBM,把一些軟體及原始碼一並送給客戶,讓客戶能夠因不同需求而自行更改軟體。在 1991-1992 年期間,住在芬蘭的 Linus Torvald製造了第一版的 Linux 操作系統。在一群熱心的程序人員努力下,把 Linux 操作系統以及外圍的應用程序逐一打造。 出名的作品除了趨於成熟的Linux 操作系統外,還有 Apache網頁伺服器、Perl 程序語言、MySQL 資料庫、Mozilla 瀏覽器、OpenOffice等等。近來,在政府的推動及各軟體大廠(如 IBM、Redhat、Apple 等)的推動下,預料這股旋風將會掀起新的軟體革命。
F. 什麼是開源軟體和不開源軟體
1、開放源碼軟體(open-source)是一個新名詞,它被定義為描述其源碼可以被公眾使用的軟體,並且此軟體的使用,修改和分發也不受許可證的限制。開放源碼軟體通常是有right的,它的許可證可能包含這樣一些限制: 蓄意的保護它的開放源碼狀態,著者身份的公告,或者開發的控制。「開放源碼」正在被公眾利益軟體組織注冊為認證標記,這也是創立正式的開放源碼定義的一種手段。
2、不開源軟體就是封閉源代碼軟體,相對開放源代碼而言,為封閉源代碼軟體的簡稱。 只要源代碼不容易獲取,就被視為閉源軟體。閉源軟體,通常是在電子游戲開發猛兆中,付足夠的費用即可得到部分源代碼,如torque引擎,但一定是有限使用(通常為次數和不準透露),故不是開源軟體。
(6)軟體源碼閱讀器開源擴展閱讀:
開放源碼軟體主要被散布在全世界的編程者隊伍所開發,但是同時一些大學,政府機構承包商,協會和商業公司也開發它。開放源碼軟體在歷史上曾經與UNIX,Internet聯系得非常緊密。
在這些系統中旅知鍵許多不同的硬體需要支持,而且源碼分發是實現交叉平台可移植性的唯一實際可行的辦法。在DOS,Windows,Macintosh平台拆巧上僅僅有很少的用戶有可用的編譯器,開放源碼軟體更加不普遍。對開放源碼開發模式的更詳細的討論請看Eric Raymond寫的「The Cathedral and the Bazaar」。
G. 從那裡可以找到並下載開源軟體的源代碼越詳細越好。謝謝了
google code和soure fe是兩個最大的開源軟體平台,許多開源項目都架在上面。
我玩了一段時間的ubuntu,常常在上面下載軟體。有一些是跨平台的,有一些則只能在linux下編譯。
源碼包的文件擴展名一般為.tar.gz或者 .tar.bz2,linux下常用的兩個打包壓縮格式,winrar也可以解壓它。
那個啊`~~
你去下載linux裡面很多啊~
which 7z|xargs dpkg -S|cut -d ":" -f 1|xargs apt-get source
如果樓主使用的是ubuntu,debian等系統,可以試試上面的命令,已經在我的ubuntu10.10下測試通過
或者在soure fe下載
:sourcefe./projects/sevenzip/files/7-Zip/9.20/7z920.tar.bz2/download
許多的開源項目都架在sourge fe和google code上,源碼包一般擴展名tar.bz2 ,tar.gz ,tgz等都是linux下常見的打包壓縮格式,7z為跨平台軟體,在windows,linux下都可以編譯。
打開開源中國網站;
注冊、登錄;
在網站內查找關鍵詞;
再所需要的網頁下載。
其實國外也有很多類似的網站,可以搜搜。
:code.google./p/opensofare/downloads/detail?name=imgburn.exe&can=2&q=
在右邊欄選擇Source
官方網址::imgburn.
網站上說此軟體為免費軟體不是開源軟體。
sf.應該有吧
開源的源字就是只代碼的。
開源是為了軟體共享,讓更多的人參與軟體的完善中去。當然,具體的開源宗旨的話你可以看各個開源協議的目標和宗旨。
源代碼就是作者書寫的程序代碼,通常是有意義的,人能看懂匯編及高級語言代碼。
這些源代碼經過編譯器編譯鏈接後會變成由計算機能夠看懂的二進制可執行代碼,這些代碼通常人是看不懂的,當然有些也可以通過反匯編等手段一定程度上「看懂」
所謂的開源軟體,就是作者將源代碼與編譯後的可執行代碼同時發布。
一般的軟體,作者只是發布編譯後的可執行代碼,而不發布源代碼。
要看作者有沒有發布此程序的源碼出來.
如果確認是開源軟體, 去作者主頁下載即可.
你可以用SVN軟體在這里同步到最新的代碼:
:svn.apache./repos/asf/hadoop
其實你同步你研究領域的分支就可以了,全同步實在太大了。
SVN軟體可以用Tortoise SVN,使用方法一下就可以了。
當然也可以到cloudera或Yahoo!的hadoop官網的download鏈接去下載。
H. 大牛們是怎麼閱讀 Android 系統源碼的
由於工作需要大量修改framework代碼, 在AOSP(Android Open Source Project)源碼上花費了不少功夫, Application端和Services端都看和改了不少.
如果只是想看看一些常用類的實現, 在Android包管理器里把源碼下載下來, 隨便一個IDE配好Source Code的path看就行.
但如果想深入的了解Android系統, 那麼可以看下我的一些簡單的總結.
知識
Java
Java是AOSP的主要語言之一. 沒得說, 必需熟練掌握.
熟練的Android App開發
Linux
Android基於Linux的, 並且AOSP的推薦編譯環境是Ubuntu 12.04. 所以熟練的使用並了解Linux這個系統是必不可少的. 如果你想了解偏底層的代碼, 那麼必需了解基本的Linux環境下的程序開發. 如果再深入到驅動層, 那麼Kernel相關的知識也要具備.
Make
AOSP使用Make系統進行編譯. 了解基本的Makefile編寫會讓你更清晰了解AOSP這個龐大的項目是如何構建起來的.
Git
AOSP使用git+repo進行源碼管理. 這應該是程序員必備技能吧.
C++
Android系統的一些性能敏感模塊及第三方庫是用C++實現的, 比如: Input系統, Chromium項目(WebView的底層實現).
硬體
流暢的國際網路
AOSP代碼下載需要你擁有一個流暢的國際網路. 如果在下載代碼這一步就失去耐心的話, 那你肯定沒有耐心去看那亂糟糟的AOSP代碼. 另外, 好程序員應該都會需要一個流暢的Google.
一台運行Ubuntu 12.04的PC.
如果只是閱讀源碼而不做太多修改的話, 其實不需要太高的配置.
一台Nexus設備
AOSP項目默認只支持Nexus系列設備. 沒有也沒關系, 你依然可以讀代碼. 但如果你想在大牛之路走的更遠, 還是改改代碼, 然後刷機調試看看吧.
高品質USB線
要刷機時線壞了, 沒有更窩心的事兒了.
軟體
Ubuntu 12.04
官方推薦, 沒得選.
Oracle Java 1.6
注意不要用OpenJDK. 這是個坑, 官方文檔雖然有寫, 但還是單獨提一下.
安裝:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
sudo apt-get install oracle-java6-set-default
Eclipse
估計會有不少人吐槽, 為什麼要用這個老古董. 其實原因很簡單, 合適. 剛開始搞AOSP時, 為了找到效率最優的工具, 我嘗試過Eclipse, IntelliJ IDEA, Vim+Ctags, Sublime Text+Ctags. 最終結果還是Eclipse. 主要優點有:
有語法分析 (快速准確的類, 方法跳轉).
支持C++ (IntelliJ的C++支持做的太慢了).
嵌入了DDMS, View Hierarchy等調試工具.
為了提高效率, 花5分鍾背下常用快捷鍵非常非常值得.
調整好你的classpath, 不要導入無用的代碼. 因為AOSP項目代碼實在是太多了. 當你還不需要看C++代碼時, 不要為項目添加C++支持, 建索引過程會讓你崩潰.
Intellij IDEA
開發App必備. 當你要調試系統的某個功能是, 常常需要迅速寫出一個調試用App, 這個時候老舊的Eclipse就不好用了. Itellij IDEA的xml自動補全非常給力.
巨人的肩膀
這個一定要先讀. 項目介紹, 代碼下載, 環境搭建, 刷機方法, Eclipse配置都在這里. 這是一切的基礎.
這個其實是給App開發者看的. 但是裡面也有不少關於系統機制的介紹, 值得細讀.
此老羅非彼老羅. 羅升陽老師的博客非常有營養, 基本可以作為指引你開始閱讀AOSP源碼的教程. 你可以按照博客的時間順序一篇篇挑需要的看.但這個系列的博客有些問題:
早期的博客是基於舊版本的Android;
大量的代碼流程追蹤. 讀文章時你一定要清楚你在看的東西在整個系統處於什麼樣的位置.
鄧凡平老師也是為Android大牛, 博客同樣很有營養. 但是不像羅升陽老師的那麼系統. 更多的是一些技術點的深入探討.
Android官方Issue列表. 我在開發過程中發現過一些奇怪的bug, 最後發現這里基本都有記錄. 當然你可以提一些新的, 有沒有人改就是另外一回事了.
一定要能流暢的使用這個工具. 大量的相關知識是沒有人系統的總結的, 你需要自己搞定.
其它
代碼組織
AOSP的編譯單元不是和git項目一一對應的, 而是和Android.mk文件一一對應的. 善用mmm命令進行模塊編譯將節省你大量的時間.
Binder
這是Android最基礎的進程間通訊. 在Application和System services之間大量使用. 你不僅要知道AIDL如何使用, 也要知道如何手寫Binder介面. 這對你理解Android的Application和System services如何交互有非常重要的作用. Binder如何實現的倒不必著急看.
HAL
除非你對硬體特別感興趣或者想去方案公司上班, 否則別花太多時間在這一層.
CyanogenMod
這是一個基於AOSP的第三方Rom. 從這個項目的wiki里你能學到很多AOSP官方沒有告訴你的東西. 比如如何支持Nexus以外的設備.
DIA
這是一個Linux下畫UML的工具, 能夠幫你梳理看過的代碼.
XDA
這里有最新資訊和最有趣的論壇.
想到了再補充.
I. 怎樣查看一個軟體的源代碼
對於現在的軟體來說,源代碼是最基礎的部分,得到了源代碼也就幾乎得到了軟體的全部。源代碼對於商業性質的軟體來說是極其重要的,一旦泄露就會造成非常大的損失,所以源代碼是一個軟體開發團隊的最高機密。
正因如此,很多人出於不同目的,會想辦法得到軟體的源代碼,但是我們知道,軟體的最終產品一般是已經編譯過的文件,就像我們初學C語言時生成的 exe 文件一樣,是一些二進制符,不能直接查看源碼。
想要查看一個軟體的源代碼,首先要確定這個軟體的開發者是否已經將其開源,如果開源的話就不必大費周章地去反編譯了,直接去開源社區里就會發現該軟體的源碼,開發者一般也會提供源碼的下載鏈接。
如果軟體不開源,那就要進行反編譯了,查看大多數軟體的源碼都需要用到這個方法,即使反編譯了,看到的源代碼也是非常混亂的,因為為了保護源碼,開發者在編譯前都會進行混淆,目的就是即使有人反編譯成功,也無法看懂代碼里的邏輯,這也是保護源碼的最後一道防線。