標籤:

學習Github 上的一些經典源碼,比如四次元新浪微博客戶端的開源項目,導入到Eclipse有很多錯誤,怎麼辦?

在網上查了下,項目裡面有gradle文件,是Android是Android studio開發的,用Eclipse不能直接導入么?後面又下載了Github的Android客戶端項目,發現沒有gradle文件,也運行不了,而且裡面的包名都很奇怪....求助...Github上有些工程倒是可以直接導入到Eclipse運行,但是很多都不可以~


一個Android項目,無論它是不是使用 Gradle 構建,是不是使用 IDEA(Android Studio)開發,只要它的項目目錄符合 Eclipse 的 Android 項目目錄,就可以導入到 Eclipse 中。

由於四次元項目符合 Eclipse Android 項目目錄,所以它是可以導入到 Eclipse 的。

之所以報錯,是因為沒有配置好依賴的庫項目

下面演示一下如何把四次元導入到 Eclipse 中

四次元依賴的有3個庫項目,其中2個在lib目錄下,所以使用 Eclipse 導入的時候,你可以把根目錄選擇到 weiciyuan ,勾選上showcaseviewlibrary 和 slidingmenulibrary,如下圖:

接下來,就是解決這些報錯的問題了。原則就是先解決庫項目的報錯,再解決主項目的報錯

為了減少錯誤的干擾,你可以把剛導入的項目都關閉掉,解決誰,就打開誰。

首先是slidingmenulibrary,找到報錯的地方,發現是缺少 android.support.v4.* 開頭的類,在該項目下建一個libs文件夾,複製一個android-support-v4.jar進去,該jar包位於:android-sdks/extras/android/support/v4 目錄下,如果沒有,請使用sdk-manager下載。

也可以右鍵項目,通過Android Tools -&> Add Support Library 安裝,如下圖:

如果還有錯誤,請clean一下。

接著是showcaseviewlibrary,這個項目沒有代碼報錯,但是項目前面顯示的有紅叉,發現它沒有設置為庫項目,右鍵項目-&>Properties-&>Android,把Is Library勾選上

如果還報錯,請clean一下,後者右鍵項目,refresh一下,也可以重啟一下Eclipse

四次元還使用到了google-play-services_lib項目,把它也導入到 Eclipse,這個庫是通過SDK Manage下載的,它位於android-sdks/extras/google/google_play_services/libproject下

最後,解決主項目的錯誤,先讓主項目引入上面的三個庫項目

這時發現錯誤有很多,原因是四次元使用Gradle構建,某些欄位是寫在build.gradle中的,需要修改的有如下幾個地方:

values/strings.xml 中添加

&org.qii.weiciyuan.mention://@四次元App&
&org.qii.weiciyuan&

AndroidManifest.xml文件中添加

&

還有幾處需要把${applicationId} 替換成 org.qii.weiciyuan

  • AndroidManifest.xml文件末尾的provider

  • org.qii.weiciyuan.support.lib.WeiboPatterns

  • org.qii.weiciyuan.ui.search.SearchSuggestionProvider

刪除 org.qii.weiciyuan.support.utils.GlobalContext 類中 Crashlytics 的使用

剩下的幾處錯誤提示,是由於使用到了java 7的語法,把Java編譯級別修改為1.7即可。

  • org.qii.weiciyuan.othercomponent.AppNotification 使用了 new HashMap&<&>();

記得把項目編碼修改為 UTF-8

修改完畢,中間可能需要不斷的 clean 項目,或者重啟 Eclipse

下面是成功運行的截圖:


謝邀請!

首先,weiciyuan這個工程是用gradle編譯的,你應該是不能用Eclipse的,況且我也推薦你使用IntelliJ IDEA 14 或最新的Android Studio。

其次,作者已經把編譯方法寫在README文件中了,請看:

Gradle 構建

  • 版本
    • 最新 Android SDK
    • Gradle
  • 環境變數
    • ANDROID_HOME
    • GRADLE_HOME,同時把bin放入path變數
  • Android SDK 安裝,都更新到最新
    • Android SDK Build-tools
    • Google Repository
    • Android Support Repository
    • Android Support Library
  • 移除配置
    • 移除AndroidManifest.xml裡面com.crashlytics.ApiKey和GlobalContext的Crashlytics.start(this),以免影響四次元的崩潰統計數據
  • 編譯
    • ./gradlew assembleDebug,編譯好的apk在build/outputs/apk下面,默認用的是 debug.keystore 簽名,可與Google Play上的正式版共存

-------更新--------

從這個工程的build.gradle 文件中可以看到,這個工程使用了gradle 0.13.2來編譯,請務必使用相應的gradle版本和最新的IDE

classpath "com.android.tools.build:gradle:0.13.2"

build.gradle文件: weiciyuan/build.gradle at 0.50 · qii/weiciyuan · GitHub


四次元用android studio寫的,構建系統是gradle而非eclipse用的ant,所以這個項目導到eclipse以後就不認了

導入後可能要對gradle的配置,targetSDK做些調整,因為你的build tools可能比原始代碼中指定的新


有很多依賴,其實如果能把Android Studio的項目移到Eclipse上也能學到很多


請在eclipse中搜索「gradle」插件,此外Intellij IDEA13開始內置Gradle支持(不同版本IDE支持的Gradle版本是有上限的,這點需要注意一下)


最大可能的是路徑問題,包在不在正確的路徑。

分享一些不錯的高仿客戶端源碼,盤點2014年不可錯過的十大高仿源碼包含

高仿大眾點評、高仿茶百科、高仿京東商城、高仿糗事百科(完整版)、高仿微信實時聊天、高仿FlappyBird、仿騰訊通訊錄管理、仿網易客戶端源碼、仿天天動聽音樂播放器、仿開心網Android客戶端 、


排名前幾的哥們講的對呢... 打開的姿勢不對...Github上面大部分Android項目都是基於Gradle的... 所有應該用IDEA或者Android Studio打開


趕緊離開Eclipse吧


首先,看文檔,一般作者對安裝,環境說明很清楚了.

其次,再確認下自己哪塊沒配置錯,然後看看有沒有相同或相似的issue

最後,跟作者提issue


我這個是正確答案!!!

首先,你要在github上搜索到的包是

weiciyuan-for-eclipse-master!

這個包,把library一關聯基本上沒什麼錯誤了.


如果用eclipse跑四次元代碼的話,裝下gradle就可以了,按照說明來。


1 找官方文檔,看看依賴,安裝步驟

2 按照步驟一步步弄,如果解決不了,上網找

3 如果找不到,那就證明你的問題很簡單或者就是你水平差,還沒到看這麼大代碼的時候

4 如果官方文檔寫得不好,那麼換個項目,項目這麼多為毛就要看這個,國外的優質項目很多,參與國外的項目更加有成就感,還能提升英語,提升bi格

5 我很少用IDE開發,所以不了解你的問題

如果答非所問的話,就摺疊我吧。


推薦閱讀:

GitHub 的 Fork 是什麼意思?
如何寫好Github中的readme?
Git 真的是 Linus Torvalds 兩周寫出來的嗎?
如何評價知乎用戶秋風(AutumnsWinds)GitHub項目與其他現有項目高度雷同?
GitHub 是怎樣的一個存在?

TAG:GitHub | Android |