青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Android Studio實(shí)戰(zhàn)技巧

轉(zhuǎn)載自:http://www.cnblogs.com/qianxudetianxia/p/3987395.html


使用android studio開發(fā)項(xiàng)目的一些問題,功能和技巧。

1. 環(huán)境

Mac OSX 10.9.5 + Android Studio 0.8.9

2. gradle項(xiàng)目加載超慢

這是因?yàn)間radle官方下載地址特別慢導(dǎo)致,解決方案有2個(gè):

  • VPN,干凈利索。

    推薦VPN

  • 拷貝一個(gè)gradle的已下載的壓縮包到gradle目錄的wrapper路徑下,然后關(guān)閉Android Studio在打開,它會自動識別并解壓好。

第二種方案,具體以Mac為例子,Android Studio 0.8.9默認(rèn)使用的gradle版本還是gradle-1.12。

  • 下載gradle-1.12-all.zip,放到~/.gradle/wrapper/dists/gradle-1.12-all/2apkk7d25miauqf1pdjp1bm0uo,這個(gè)2apkk7d25miauqf1pdjp1bm0uo是隨機(jī)生成的標(biāo)識碼,各人可能不一樣。

  • 效果圖。
    1

  • gradle-1.12-all.zip我上傳了一個(gè)到百度云盤。

    下載gradle-1.12-all.zip

  • linux的gradle的目錄和mac上一樣,Windows是在你的用戶目錄下。

3. Android Studio添加引用第三方Library

右鍵Module - Open Module Settings - Dependencies, 找到"+"按鈕,選擇Library dependency,彈出對話框,

選中support-annotations,

它會在Module下的build.gradle中的dependencies添加一行:

compile 'com.android.support:support-annotations:20.0.0'

4. 默認(rèn)編譯的應(yīng)用版本選擇

當(dāng)你點(diǎn)擊那個(gè)右三角運(yùn)行按鈕的時(shí)候,它默認(rèn)是會運(yùn)行debug版本,其實(shí)這里可以調(diào)整為默認(rèn)編譯release版本,當(dāng)然這點(diǎn)上可能對你不是很重要。

但是當(dāng)你定義了各種版本,并且想?yún)^(qū)別開發(fā),這就很有用了。

在左下角 - Build Variants - 選擇默認(rèn)版本。

5. 顯示行號

Setings - Editor - Appearance - 勾選Show line numbers

6. 快捷鍵

這個(gè)網(wǎng)上有很多資料,而且在設(shè)置里面可以選擇自己習(xí)慣的Keymap,比如eclipse,這里點(diǎn)到為止。

列舉幾個(gè)參考鏈接:

http://www.developerphil.com/android-studio-tips-of-the-day-roundup-1/

http://www.developerphil.com/android-studio-tips-of-the-day-roundup-2/

7. 插件

Settings - Plugins - Browser repositories - 彈出對話框 - 選中某一插件 - 右邊Install plugin。

比如,安裝.gigignore support,提示需要重啟,重啟后查看.gitigore由之前的黑白變的有高亮效果了,還有其他功能,在插件介紹中都有詳細(xì)說明。

關(guān)于一些好的插件的推薦,可以單開一篇博客了,在此不贅述。

8. 多版本編譯

原理

采用動態(tài)替換渠道字符串的方式,生成各渠道的AndroidManifest.xml文件并打包。

說明:參考自友盟umeng-muti-channel-build-tool/Gradle,并實(shí)際項(xiàng)目驗(yàn)證OK。

關(guān)鍵代碼
//替換AndroidManifest.xml的REPLACE_KEY字符串為渠道名稱 android.applicationVariants.all{ variant -> variant.processManifest.doLast{         //v1.11之前這里用的copy{},我換成了文件操作,這樣可以在v1.11版本正常運(yùn)行,并保持文件夾整潔 //${buildDir}是指build文件夾 //${variant.dirName}是flavor/buildtype,例如GooglePlay/release,運(yùn)行時(shí)會自動生成 //下面的路徑是類似這樣:build/intermediates/manifests/GooglePlay/release/AndroidManifest.xml def manifestFile = "${buildDir}/intermediates/manifests/${variant.dirName}/AndroidManifest.xml" //將字符串REPLACE_KEY替換成flavor的名字 def updatedContent = new File(manifestFile).getText('UTF-8').replaceAll("REPLACE_KEY", "${variant.productFlavors[0].name}") new File(manifestFile).write(updatedContent, 'UTF-8') //將此次flavor的AndroidManifest.xml文件指定為我們修改過的這個(gè)文件 variant.processResources.manifestFile = file("${buildDir}/intermediates/manifests/${variant.dirName}/AndroidManifest.xml") } }
具體步驟
  • AndroidManifest.xml中添加渠道m(xù)eta
<application android:label="@string/app_name"> <meta-data android:name="APP_PID" android:value="default" /> <activity android:name="com.jayfeng.xxx" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
  • 完整的build.gradle
apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion '19.1' defaultConfig { applicationId 'com.jayfeng.app.test' minSdkVersion 15 targetSdkVersion 19 versionCode 1 versionName 'V1.0' } signingConfigs { myConfig { storeFile file("xxxxxx.keystore") storePassword "xxxxxxx" keyAlias "xxxxx" keyPassword "xxxxxx" } } buildTypes { release { signingConfig signingConfigs.myConfig runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { "default" {} google {} "91" {} hiapk {} gfan {} goapk {} appChina {} mumayi {} eoe {} nduo {} feiliu {} crossmo {} huawei {} QQ {} "3G" {} "360" {} baidu {} sohu {} "163" {} UC {} dangle {} samsung {} mmw {} xiaomi {} lenovo {} nearme {} } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':mblog') } tasks.withType(Compile) { options.encoding = "UTF-8" } //替換AndroidManifest.xml的default字符串為渠道名稱 android.applicationVariants.all{ variant -> variant.processManifest.doLast{ //之前這里用的copy{},我換成了文件操作,這樣可以在v1.11版本正常運(yùn)行,并保持文件夾整潔 //${buildDir}是指build文件夾 //${variant.dirName}是flavor/buildtype,例如GooglePlay/release,運(yùn)行時(shí)會自動生成 //下面的路徑是類似這樣:build/manifests/GooglePlay/release/AndroidManifest.xml def manifestFile = "${buildDir}/intermediates/manifests/${variant.dirName}/AndroidManifest.xml" //將字符串default替換成flavor的名字 def updatedContent = new File(manifestFile).getText('UTF-8').replaceAll("default", "${variant.productFlavors[0].name}") new File(manifestFile).write(updatedContent, 'UTF-8') //將此次flavor的AndroidManifest.xml文件指定為我們修改過的這個(gè)文件 variant.processResources.manifestFile = file("${buildDir}/intermediates/manifests/${variant.dirName}/AndroidManifest.xml") } }

9. 小結(jié)

Android Studio作為新的開發(fā)工具,需要不斷的探索才能更好的使用,才能發(fā)揮出它遠(yuǎn)勝eclipse的強(qiáng)大!

posted on 2015-06-12 15:44 楊粼波 閱讀(743) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            激情av一区二区| 国产精品久久久久免费a∨| 一本色道久久88精品综合| 久久久人成影片一区二区三区| 亚洲精品护士| 国产一区视频在线观看免费| 欧美日韩精品一区二区在线播放 | 亚洲国产欧美另类丝袜| 午夜视频在线观看一区二区三区| 亚洲国产精品99久久久久久久久| 国产精品人人做人人爽| 欧美日韩国产三区| 免费看成人av| 欧美在线视频全部完| 一区二区av| 亚洲精品日韩综合观看成人91| 玖玖精品视频| 久久精品日韩欧美| 亚洲欧美日韩电影| 这里是久久伊人| 日韩视频免费大全中文字幕| 黄色成人av| 国模一区二区三区| 国产欧美日韩在线视频| 国产精品久久久久久久浪潮网站| 欧美精品在线观看91| 免费观看日韩| 久久一区国产| 久久人人爽爽爽人久久久| 欧美怡红院视频一区二区三区| 亚洲一区二区三区视频播放| 亚洲午夜激情网页| 一区二区三区四区五区视频| 一本色道久久综合狠狠躁的推荐| 亚洲精品小视频在线观看| 亚洲激情六月丁香| 欧美激情中文字幕乱码免费| 欧美大学生性色视频| 欧美激情91| 亚洲第一页在线| 亚洲欧洲日韩综合二区| 亚洲黄色天堂| 日韩亚洲不卡在线| 一本到12不卡视频在线dvd| 夜夜嗨av一区二区三区中文字幕| a4yy欧美一区二区三区| 亚洲视频免费在线| 亚洲一二三区在线| 午夜精彩国产免费不卡不顿大片| 午夜精品久久久久久久99黑人| 亚洲女爱视频在线| 欧美一级欧美一级在线播放| 久久久av毛片精品| 蜜桃av久久久亚洲精品| 欧美激情国产精品| 欧美色精品在线视频| 国产精品久久久久影院色老大| 国产日本欧美一区二区| 在线成人中文字幕| 亚洲欧洲日产国码二区| 一区二区三欧美| 欧美一二三区精品| 久久亚洲欧洲| 亚洲精品1234| 亚洲香蕉伊综合在人在线视看| 亚洲免费影视| 葵司免费一区二区三区四区五区| 欧美极品在线播放| 国产精品地址| 依依成人综合视频| 一区二区三区精密机械公司 | 久久精品动漫| 欧美精品91| 国产伦精品一区二区三区高清| 黄色日韩精品| 在线综合亚洲欧美在线视频| 欧美一区二区视频97| 欧美成人免费全部观看天天性色| 亚洲另类视频| 久久激情视频免费观看| 欧美精品观看| 国产一区二区三区黄| 亚洲精品视频在线| 欧美一级播放| 亚洲激情综合| 久久av一区| 欧美日韩一级视频| 一区在线播放| 午夜精彩视频在线观看不卡 | 久久先锋资源| 亚洲免费福利视频| 久久成人精品视频| 欧美日韩在线另类| 亚洲国产精品久久久久秋霞蜜臀| 亚洲性av在线| 欧美激情精品久久久久久蜜臀 | 免费观看亚洲视频大全| 国产精品一区二区三区久久| 亚洲精品美女久久久久| 久久精品五月婷婷| 夜夜爽av福利精品导航 | 欧美午夜精品伦理| 亚洲欧洲精品一区二区三区不卡 | 99精品欧美一区| 蜜桃av噜噜一区| 亚洲欧美另类在线| 欧美日韩理论| 亚洲福利精品| 久久久久国色av免费观看性色| 在线视频亚洲一区| 欧美激情二区三区| 亚洲国产日韩综合一区| 久久精品人人爽| 午夜精品婷婷| 国产精品日日做人人爱| 99亚洲一区二区| 欧美激情网友自拍| 欧美一区激情视频在线观看| 欧美三级特黄| 宅男在线国产精品| 亚洲精品免费在线| 欧美电影打屁股sp| 在线日韩中文字幕| 卡通动漫国产精品| 午夜日韩在线观看| 国产精品美女一区二区| 亚洲欧美日韩在线| 亚洲一区综合| 国产乱人伦精品一区二区 | 久久深夜福利| 影音先锋成人资源站| 久久午夜羞羞影院免费观看| 久久国产毛片| 在线精品视频一区二区| 久久这里只有| 看欧美日韩国产| 亚洲国产精品久久久久秋霞影院| 美女视频黄 久久| 久久免费视频网站| 亚洲国产另类 国产精品国产免费| 美女脱光内衣内裤视频久久网站| 久久精品道一区二区三区| 黄色日韩网站| 欧美黄免费看| 欧美伦理在线观看| 一区二区三区视频免费在线观看| 亚洲精品国精品久久99热| 欧美丰满高潮xxxx喷水动漫| 亚洲成人原创| 久久九九国产精品| 亚洲女人天堂av| 国产精品午夜av在线| 午夜日韩电影| 亚洲欧美日韩一区二区三区在线观看 | 麻豆国产精品777777在线| 久久看片网站| 亚洲欧洲一区二区三区久久| 欧美激情无毛| 欧美激情中文字幕乱码免费| 亚洲一区二区精品视频| 一本色道久久综合狠狠躁篇的优点 | 欧美日韩亚洲一区二区三区四区| 亚洲美女av网站| 日韩亚洲精品电影| 国产精品不卡在线| 欧美一区二区三区的| 99视频精品在线| 国产日韩欧美一二三区| 久久久人成影片一区二区三区观看 | 欧美日韩一区综合| 午夜精品久久久99热福利| 亚洲性视频h| 国精品一区二区三区| 欧美1区2区3区| 欧美国产1区2区| 国产精品专区h在线观看| 久久天堂av综合合色| 一区二区三区在线免费播放| 美女视频黄 久久| 久久精品视频在线免费观看| 亚洲精品中文字幕有码专区| 亚洲欧美日韩国产| 国语自产精品视频在线看抢先版结局 | 亚洲精品网址在线观看| 国产精品推荐精品| 日韩亚洲国产欧美| 在线日韩av永久免费观看| 亚洲一区免费视频| 伊人成年综合电影网| 先锋影音网一区二区| 一区二区三区视频在线看| 久久亚洲免费| 香蕉久久久久久久av网站| 欧美视频不卡| 亚洲国产高清aⅴ视频| 国内精品久久久久久影视8 | 亚洲美女中出| 日韩天堂av| 免费日韩av片| 久久久久久尹人网香蕉|