日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android项目两种构建方式的整合(Eclipse/idea和Android Studio)

發布時間:2025/6/15 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android项目两种构建方式的整合(Eclipse/idea和Android Studio) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

android的兩種構建方式

目前android主要有兩種構建方式,一種基于ant(傳統的),另一種是13年Google/IO上新推出基于Gralde的構建(Android Studio)。從sdk的samples的例程也可以看到api18后的例程的項目目錄結構也變了。

簡單的看一下兩種構建方式的目錄結構,我們以當前最新sdk19為例

  • 傳統的ant構建(Eclipse和Idea默認的Android結構)

  • $ANDROID_HOME/samples/android-19/legacy/ActionBarCompat

    res/ src/ AndroidManifest.xml

    這是最簡單的結構,可能還會有assets,libs等目錄,也就是我們在ide新建一個android項目的骨架結構啦Orz

  • 基于Gradle的Android Studio構建目錄

  • $ANDROID_HOME/samples/android-19/ui/DoneBar

    DoneBarSample/src/main/java/res/AndroidManifest.xmltests/src/AndroidManifest.xmlbuild.gradle????????#?DoneBarSample子項目的gradle構建腳本 gradle/?????????????????#?gradle臨時文件夾,不用管 build.gradle????????????#?根項目(DoneBar)的gradle構建腳本 gradlew?????????????????#?gradle-wrapper在windows平臺運行腳本(有了這個在本地可以無需安裝Gralde) gradlew.bat?????????????#?gradle-wrapper在linux,mac平臺下的運行腳本(效果同上) settings.gradle?????????#?gradle多項目的項目申明文件 README.txt

    看起來,Gradle好像更搞得更復雜了,但是,gradle的優勢在于多項目的構建。實際上,1方案只是一個我們項目核心的源代碼而已,沒有任何的依賴。通常情況下,當我們寫android應用時,會依賴第三方庫,如果是個jar還好辦,但是不少情況下同時需要引入第三方的資源文件(比如說actionbar-compat,actionbar-sherlock等),這樣就相當于把第三方庫作為一個項目給引入到我們這個獨立的項目中來了(并且這里面的項目之間的依賴還得自己去調控,比如說咱們的項目依賴于support-v4, 那好,我們把v4引入然后在項目中申明依賴關系,接下來咱們的項目依賴support-v7-appcompat,導入這個庫,尼瑪,這個庫不僅有jar,還有資源文件,那好把這兩個引入并聲明好依賴關系,這時,你會發現項目依舊報錯,因為v7那個jar依賴于v4那個jar...)

    很討厭是不是?還好啦,不過配多了你就覺得蛋疼了。所以,就是為什么Gradle比較有優勢的地方了。對于以上的問題,我們只需要在項目中的build.gradle聲明

    dependencies?{compile?"com.android.support:support-v4:$supportLibVersion"compile?"com.android.support:support-v13:$supportLibVersion"//?compile?project(':your?project')//?compile?('libs/*.jar')?//?all?your?jar?in?the?libs?dir }

    這只是最簡單的應用,gradle還提供了很多構建的特性,比如直接把第三方庫作為一個子項目依賴進來,具體參閱其文檔

    我們是否應該從ant構建遷移到Androd Studio的Gralde構建?

    很明顯,Android Studio是google力推的開發工具,是趨勢,而且,老實說Eclipse在開發android應用方面不如Android-Studio(idea)好使。但是,Android Studio目前還沒有到正式版,還在開發階段,出個bug你也傷不起Orz

    另外,Gradle的構建目前還是很慢,相對與ant的構建,慢了好多,改了一處地方,run,要等不少時間,而我在idea或者eclipse上很快就構建好了

    綜上,沒有解決以上兩個問題還是不太推薦android-studio的,不過,倒是挺建議使用eclipse開發android的朋友有使用Intellij IDEA的開源社區版去開發android,事實上,Android Studio就是架在IDEA上的嘛

    一種過渡的方式,同時支持兩種構建方式

    對于現有的項目或者新的項目,以后怎么轉移到Android Studio呢,或者說,我就是想試試我這個項目在Android Studio上開發爽不爽?出于Gradle的靈活性,我們完全可以做出一個同時支持兩種構建方式的項目。

    項目的結構和傳統的一樣,這樣便可以作為android項目直接導入到eclipse或者idea中,核心在于gradle的build.gradle文件

    不做過多介紹,直接上代碼,看著改改就可以啦,還有更多的需求的話可以參考這里:

    ?
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 /* ?*?The?MIT?License?(MIT) ?*?Copyright?(c)?2014?longkai ?*?The?software?shall?be?used?for?good,?not?evil. ?*/ buildscript?{ ????repositories?{ ????????mavenCentral() ????} ????dependencies?{ ????????classpath?'com.android.tools.build:gradle:0.6.+' ????} } //?for?our?non-android-support?libs,?such?as?gson,?etc. repositories?{ ????//?prefer?and?fall?back ????jcenter() ????mavenCentral() } apply?plugin:?'android' ext?{ ????supportLibVersion?=?'19.0.1' } android?{ ????compileSdkVersion?19 ????buildToolsVersion?=?'19.0.1' ????sourceSets?{ ????????defaultConfig?{ ????????????testPackageName?'tingting.chen.tests' ????????} ????????main?{ ????????????assets.srcDirs?=?['assets'] ????????????res.srcDirs?=?['res'] ????????????aidl.srcDirs?=?['src'] ????????????resources.srcDirs?=?['src'] ????????????renderscript.srcDirs?=?['src'] ????????????java.srcDirs?=?['src'] ????????????manifest.srcFile?'AndroidManifest.xml' ????????} ????????instrumentTest?{ ????????????assets.srcDirs?=?["tests/assets"] ????????????res.srcDirs?=?["tests/res"] ????????????resources.srcDirs?=?["tests/src"] ????????????java.srcDirs?=?["tests/src"] ????????} ????} } dependencies?{ ????//?if?you?use?Android?Studio?with?a?lib?has?its?own?res/?directory, ????//?and?that?lib?is?not?available?in?remote?maven?repo, ????//?you?need?to?use?gradle'?s?multi-project?build?facility. ????//?if?you?don'?t?know?how?it?works,?please?refer?Gradle'?s?docs?or?google. ????compile?files("libs/*.jar") ????compile?"com.android.support:support-v4:$supportLibVersion" ????compile?"com.android.support:support-v13:$supportLibVersion" ????//?please?download?google?android-volley?and?compile?it?to?a?jar?or?multi-project?build! } task?wrapper(type:?Wrapper)?{ ????//?1.9+?is?not?supported?for?now! ????gradleVersion?=?1.8 }
    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的android项目两种构建方式的整合(Eclipse/idea和Android Studio)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久麻豆精品 | 深夜福利在线播放 | 公侵犯一区二区三区 | 亚洲图区综合 | 人人干网站 | 亚洲最大色网站 | 三级免费黄 | 无码国产精品96久久久久 | 一区二区三区日韩在线 | 天天射日日 | av免费在线观看不卡 | 国产在线观看无码免费视频 | 亚洲视频欧美 | 精品国自产在线观看 | 欧美一区二区最爽乱淫视频免费看 | 国产草草影院ccyycom | 不卡视频在线播放 | 美女一二区 | 成人一区二区电影 | 日韩中文字幕一区二区三区四区 | 精品乱码一区二区三区四区 | 国产性xxx| 日日夜夜网 | 欧美乱妇日本无乱码特黄大片 | 国内自拍在线观看 | 美女久久久久久久久 | 久久免费福利视频 | 亚洲欧美天堂 | 国产女女| 日韩av一卡二卡 | 亚洲精品国产精华液 | 2024男人天堂| 日本免费网站视频 | 俺也去婷婷 | 337p色噜噜 | 国产午夜影院 | 就要操av| 操到喷水 | 高潮毛片无遮挡 | 久久久久国产精品视频 | 涩涩涩在线观看 | 国产1区2区在线观看 | 亚洲专区一| 亚州欧美日韩 | 国外亚洲成av人片在线观看 | aa视频免费观看 | 毛片网络 | 日韩av图片 | 男人的天堂在线播放 | 九九色综合网 | 成人第一页 | 欧美精品福利 | 91色站| 91久久久国产精品 | 在线免费观看污网站 | 国产精品麻豆果冻传媒在线播放 | 成人依人 | 放荡闺蜜高h苏桃情事h | 粉嫩av一区二区三区免费观看 | 91麻豆精品91久久久久同性 | 久久久久久97 | 日韩人妻精品一区二区 | 哪里有毛片看 | 国产视频观看 | 在线视频久久 | 好屌妞视频这里只有精品 | 色屁屁ts人妖系列二区 | 麻豆chinese新婚xxx | 国产精品毛片一区视频播 | 91福利网站 | 国产欧美一区二区三区在线看蜜臀 | www.777色 | 美女扒开屁股让男人桶 | 久久国产福利一区 | 亚洲欧美激情精品一区二区 | 国产精华一区二区三区 | jizz在线观看视频 | 伊人av综合网 | 国产成人久久婷婷精品流白浆 | 中文字幕一区二区三区四区 | 在线观看国产 | 婷婷色吧| www.日本色| 超碰成人免费在线 | 日日噜噜夜夜狠狠久久丁香五月 | 麻豆视频国产精品 | 97视频一区二区三区 | 国产又粗又硬 | 亚欧色视频 | 精品成在人线av无码免费看 | 日韩xxxxxxxxx | 青草福利在线 | 色综合狠狠操 | 狠狠干在线观看 | 波多野结衣精品 | 久久国产精品偷 | 伊人网综合网 | 精品国产一区二区三区久久久蜜月 | 精品h|