分享一下我使用android 源碼時候的心得!

       我相信很多初學者會和我一樣經常在網上去找Android開發源碼,但是往往因爲運行不起來非常的懊惱!在做愛開發網站的時候,收集App代碼時就遇到了這種困難,我相信網絡上面的源碼大部分在發佈前都會人工測試,能夠正常運行纔會發佈,要肯定是沒法截圖的,那麼我們應該如何解決這樣的問題呢?


       首先讓我們來看看到底是哪些原因造成的這種問題,一個源碼不能正常運行的原因可能有很多,比如有一些項目是有時效性的,通俗的講就是項目以前依賴的服務端可以用但是現在不能用了,比如源碼作者把服務端關閉了,或者軟件內置的第三方jar包太老了不能正常返回項目請求的數據了,這種情況會導致項目打開運行時報錯,常見的現象就是運行起來以後卡在一個初始化界面不動或者就乾脆閃退,這種情況必須要更改或者屏蔽這段需要聯網檢測或者服務的代碼才能解決問題,下面說的幾種情況是你在網上下載下來的安卓源碼導入到eclipse裏面不能運行的解決方法,不是源碼運行起來出錯的解決方法,接下來我教你一一排查

下載的文件是否有問題
       解決辦法是用解壓軟件打開或者解壓的過程中有沒有彈出什麼錯誤提示,如果有錯誤提示那就重新下載一遍文件。或者去其他網站尋找相關的資源進行下載。


弄清楚IDE的版本

       如果確定下載的壓縮包沒有問題那就看看是不是編譯工具不一樣,http://bbs.aiyingli.com/測試的時候用的是Android Developer Tools Build: v22.6.2-1085508(如果你不知道怎麼看IDE的版本請自行百度),理論上adt22.6以上的版本都可以正常導入本站的項目。adt22.6以下不敢保證,不過你可以多導入幾個項目試試是不是都報錯,如果都報錯的話那就可能是IDE問題。如果你用的Android Studio或者其他工具請自行解決文件導入問題

檢查項目導入是否正確
       正確的項目導入步驟是:打開eclipse-->點擊File--選擇-->Import-->點擊android下的Existing Android...-->點擊Browse,查找你的工程-->最後點擊“Finish”,完成(強調一下,你的工程一定不要放在第一次eclipse生成的工作空間的目錄下,不然導入不會成功。。。 )如果還是不懂,可以看下圖文教程:這裏

SDK編譯版本
       很多朋友的adt是在谷歌官網或者在網上隨便找了一個,谷歌官網的adt默認只帶有一個最新版本的sdk,低版本的sdk還需要通過adt自帶的Android SDK Manager 自己下載。如果你不知道你的adt包括哪些版本的sdk你可以在點你adt上面的菜單:Window-Preferences-Android(漢化版本:窗口-首選項-Android)查看你的環境都有哪些sdk,本站用來測試源碼的sdk經常使用的版本有:2.3.7、4.2.2、4.4.2,老一些的源碼大多是使用2.3.7測試的,新源碼4.4.2居多。如果你的sdk不包括4.4.2或者4.2.2可以去這個網站找到這兩個版本的sdk下載下來,怎麼使用下載下來的sdk這個網站有說明,在這裏不深究。

項目編碼問題
       另外還有一個問題就是判斷一下項目的編碼是否正確,如果你導入的源碼在源碼名字上面有一個紅叉叉,點那個帶有紅叉叉的文件夾圖標發現一個名字叫src的文件夾圖標上也有一個紅叉叉,依次點開帶紅叉叉的文件夾或者文件,雙擊點開出錯的java文件,在代碼編輯窗口點右側小紅方塊就可以快速定位到出錯的代碼行,看一下這行代碼是不是裏面夾雜着亂碼,這時你在你的項目名字上點右鍵選擇最後一個菜單Preferences(漢化版本:首選項)(或者點擊項目名字然後按快捷鍵Alt+Enter效果一樣),在彈出窗口什麼都不點在右側找Text file encoding(漢化版本:文本文件編碼)這一項,勾選Other(漢化版本:其他),如果顯示的GBK那就換成UTF-8如果是UTF-8那就換成GBK(中國大陸最常用的就是這兩種編碼),點確定。項目幾秒後就會自動刷新,看一下紅叉叉是不是沒了,如果還存在的話那就選中項目點菜單裏面的Project->Clean...->Clean projects selected below(漢化版本:項目->清理->清理下面所選項目)然後勾選要清理緩存的項目名字點OK就會強制清理項目緩存

是否缺少依賴
       一些較大的項目大多包括有子項目或者使用了第三方的庫文件,你可以在你的項目名字上點右鍵選擇最後一個菜單Preferences(中文版的名字叫首選項)(或者點擊項目名字然後按快捷鍵Alt+Enter效果一樣),點左側的Android菜單這時右側會出現兩個小窗口,一個是Project Build Target(項目編譯版本)一個是Library。看一下Library裏面有沒有一個紅叉有的話把鼠標放到這行路徑上面2秒不要動會顯示路徑全名,大致記一下名字,然後點Add,eclipse會自動列出你導入的過的Library,看看有沒有名字跟你剛纔記的名字差不多的點,雙擊就會添加了,然後再把出錯的Remove掉就可以了,然而大部分情況是點Add出來的彈出框什麼都沒有,這時候你就要自己想辦法找到依賴的Library了,http://bbs.aiyingli.com/發佈的源碼如果需要Library會一同打包。如果是在其他地方找的項目源碼那Library估計就不好找了。

是否缺少jar包
      很多項目用到了一些第三方的jar包,但是作者使用的jar包可能沒有放到項目目錄下面,導致打包的時候沒有打進去,別人導入了這個項目就會去源路徑找這個jar包,但是導入人的電腦這個路徑上肯定不會有這個jar包的,你可以在你的項目名字上點右鍵選擇最後一個菜單Preferences(漢化版本:首選項)(或者點擊項目名字然後按快捷鍵Alt+Enter效果一樣),點左側的Java Build Path菜單(漢化版本:Java構建路徑)這時右側會出現一個有四個選項卡的的窗口,點Libraries(漢化版本:庫)窗口看看下面有沒有紅叉叉,有紅叉叉點Add JARs點開你正在解決問題的這個項目,再點libs目錄,看看有沒有同名的jar包,如果有的話就雙擊選擇,然後選中帶紅叉叉的jar包點Remove。如果沒有的話就自己想辦法搞這個jar去了,我的做法是把jar包名字放在百度裏面搜,看看能不能找到相同文件名的文件,然後放到項目的libs目錄裏面再按照上面的方法引用,如果找不到那就自求多福了。點確定。項目幾秒後就會自動刷新,看一下紅叉叉是不是沒了,如果還存在的話那就選中項目點菜單裏面的Project->Clean...->Clean projects selected below(漢化版本:項目->清理->清理下面所選項目)然後勾選要清理緩存的項目名字點OK就會強制清理項目緩存

最後推薦幾個非常棒的App源碼下載站:當然CSDN上有很多優質的代碼,另外大家可以看下app源碼論壇,上面的代碼非常全面給力同時都可以運行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章