真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android小白的學(xué)習(xí)之路

 本人作為一名android小白初次寫博客,不好之處請(qǐng)多多包含,歡迎各位大神指點(diǎn)迷津.....

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供魏都網(wǎng)站建設(shè)、魏都做網(wǎng)站、魏都網(wǎng)站設(shè)計(jì)、魏都網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、魏都企業(yè)網(wǎng)站模板建站服務(wù),10余年魏都做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

 初次接觸android不管是從學(xué)校還是培訓(xùn)機(jī)構(gòu)出來(lái)的,最先接觸的知識(shí)肯定是安裝開(kāi)發(fā)工具了(Android Studio),這里就不再詳細(xì)介紹了(百度一大堆),其次就是學(xué)習(xí)工具的使用,比如一些常用的快捷鍵還有創(chuàng)建項(xiàng)目等等,最后就是各種控件以及各種知識(shí)點(diǎn)的學(xué)習(xí)了。

 作為小白的一員,基本上我也是這么過(guò)來(lái)的,但是到真真工作的時(shí)候問(wèn)題就來(lái)了,配置文件中各個(gè)參數(shù)是什么意思?引入三方庫(kù)時(shí)或者系統(tǒng)版本過(guò)高時(shí)都需要更改配置文件但無(wú)從下手,我不知道其他初學(xué)者是不是也會(huì)遇見(jiàn)這樣類似的問(wèn)題,反正我是遇見(jiàn)了,于是乎下面就將新建項(xiàng)目中的文件做一詳細(xì)說(shuō)明,希望對(duì)一些不懂的初學(xué)者有所幫助。

 1..gradle和.idea

 這兩者目錄下放置的都是Android Studio自動(dòng)生成的一些文件,我們無(wú)需關(guān)心也不必要對(duì)其做修改。

 2. app

 這里面放置的是我們所寫的項(xiàng)目代碼以及資源等內(nèi)容,我們后續(xù)的開(kāi)發(fā)工作基本上都是在這個(gè)目錄下面進(jìn)行的

 3. build

 這里面放置的時(shí)編譯時(shí)自動(dòng)產(chǎn)生的文件,不需要修改,也不需要納入項(xiàng)目源代碼管理中。

 4. gradle

 這個(gè)目錄下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前將gradle下載好,而是會(huì)自動(dòng)工具本地緩存情況決定是否需要聯(lián)網(wǎng)下載gradle。Android Studio默認(rèn)是沒(méi)有啟用gradle wrapper的方式,如果需要打開(kāi),可以在File-Setting-Build,Execution,Deployment-Gradle中配在修改。

     5. .gitignore

     這個(gè)文件是用來(lái)將指定的文件或者目錄排除在版本控制外的

     6.  build.gradle

     這個(gè)是項(xiàng)目全局的gradle配置文件,通常這個(gè)文件是不需要修改的

     7.  gradle.properties

     這個(gè)文件是全局的gradle配置文件,在這里配置的屬性將會(huì)影響到項(xiàng)目中所有的gradle編譯腳本

     8.  gradlew 和 gradlew.bat

     這兩個(gè)文件是用來(lái)在命令行界面中執(zhí)行g(shù)radle命令的,其中g(shù)radlew是在Linux或者M(jìn)ac系統(tǒng)中使用的,gradlew.bat是在Windows系統(tǒng)中使用的

     9. .iml

    iml文件是所有IntelliJ IDEA項(xiàng)目都會(huì)自動(dòng)生成的一個(gè)文件(Android Stuido 是基于IntelliJ IDEA 開(kāi)發(fā)的),用于標(biāo)識(shí)這是一個(gè) IntelliJ IDEA項(xiàng)目,我們不需要修改這個(gè)文件中的任何內(nèi)容

     10. local.properties

     這個(gè)文件用于指定本集中的Android SDK 路徑,通常內(nèi)容都是自動(dòng)生成的,我們并不需要修改。除非你本機(jī)中的SDK位置發(fā)生了變化,那么就將這個(gè)文件中的路徑改成新的位置即可

      11. setting.gradle

     這個(gè)文件用于指定項(xiàng)目中所有引入的模塊。通常情況下模塊的引入都是自動(dòng)完成的,需要我們手動(dòng)去修改這個(gè)文件的場(chǎng)景可能較少

     下面我們來(lái)詳細(xì)看一下最外層的build.gradle

  • //設(shè)置腳本的運(yùn)行環(huán)境                  

  • buildscript {  

  •                   

  •        //使用maven的依賴,用于項(xiàng)目的依賴       

  •        repositories {  

  •             mavenCentral()  

  •         }  

  •         //依賴插件  

  •         dependencies {  

  •             //注意,插件使用這里的Gradle版本盡量要和你Android Studio的Gradle插件版本一致  

  •             classpath 'com.android.tools.build:gradle:1.3.0'  

  •         }  

  • }  

  •   

  •   

  • //舉例  

  • //共享配置  

  • allprojects {  

  •    //所有的項(xiàng)目(包括當(dāng)前項(xiàng)目以及其子項(xiàng)目)應(yīng)用上idea插件。  

  •    apply plugin: 'idea'  

  • }  

 

  app模塊下的build.gradle

  • //聲明當(dāng)前構(gòu)建的是 android 應(yīng)用 還是 library  

  • apply plugin: 'com.android.library'  

  • apply plugin: 'com.android.application'  

  •                   

  • //依賴包  

  • dependencies{  

  •     //加載本地目錄下的jar包   

  •     compile fileTree(dir:'libs',include:'*.jar')  

  •     //加載本地目錄下的.so庫(kù),版本>2.4 Gradle可使用,低版本添加.so 請(qǐng)google  

  •     compile fileTree(dir: 'libs/armeabi', include: '*/so')  

  •     //直接指定依賴的包,地址是當(dāng)前工程為根目錄  

  •     compile files('libs/android-support-v4.jar')  

  •     //引用當(dāng)前目錄下的android-library項(xiàng)目,‘eventbuslib’為項(xiàng)目名稱,注意":"一定要有  

  •     compile project(':eventbuslib')  

  •     //配置遠(yuǎn)程倉(cāng)庫(kù)中的jar包,打包時(shí),檢查本地有沒(méi)有,若沒(méi)有則下載到本地  

  •     //下載的位置:項(xiàng)目名/build/intermediates/exploded-arr/  

  •     compile 'com.android.support:appcompat-v7:22.0.0'  

  • }  

  •                        

  • //設(shè)置編碼類型  

  • tasks.withType(JavaCompile) { options.encoding = "UTF-8" }  

  •   

  •   

  • //設(shè)置當(dāng)前Android應(yīng)用構(gòu)建信息  

  • android {  

  •   

  •     //打包SDK版本  

  •     compileSdkVersion 21  

  •     //編譯工具版本  

  •     buildToolsVersion "20.0.0"  

  •       

  •     //默認(rèn)打包配置  

  •     defaultConfig {  

  •         minSdkVersion 14  

  •         targetSdkVersion 21  

  •         versionCode 1  

  •         versionName "1.0"  

  •     }  

  •   

  •     //資源文件目錄  

  •     sourceSets{    

  •           main{    

  •                 manifest.srcFile 'AndroidManifest.xml'    

  •                 java.srcDirs = ['src']    

  •                 resources.srcDirs  = ['src']    

  •                 aidl.srcDirs = ['src']    

  •                 renderscript.srcDirs = ['src']    

  •                 res.srcDirs = ['res']    

  •                 assets.srcDirs = ['assets']    

  •             }    

  •     }  

  •   

  •     //打簽名設(shè)置  

  •     signingConfigs{  

  •         myConfig{  

  •             //key文件,絕對(duì)路徑和相對(duì)路徑都可以  

  •             storeFile file("doucument/pragram_key/bluekey")  

  •             storePassword "key鑰密碼"  

  •             keyAlias      "別名"  

  •             keyPassword   "別名密碼"  

  •         }  

  •     }  

  •   

  •     //構(gòu)建簽名和混淆  

  •     buildTypes {  

  •         release {  

  •             //簽名文件  

  •             signingConfig  signingConfigs.myConfig  

  •             //是否打開(kāi)混淆  

  •             minifyEnabled false  

  •             //混淆配置文件  

  •             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  

  •         }  

  •     }  

  •   

  •     //打包設(shè)置  

  •     packagingOptions {  

  •            exclude 'META-INF/DEPENDENCIES.txt'  

  •            exclude 'META-INF/LICENSE.txt'  

  •            exclude 'META-INF/NOTICE.txt'  

  •            exclude 'META-INF/NOTICE'  

  •            exclude 'META-INF/LICENSE'  

  •            exclude 'META-INF/DEPENDENCIES'    

  •            exclude 'META-INF/notice.txt'    

  •            exclude 'META-INF/license.txt'    

  •            exclude 'META-INF/dependencies.txt'    

  •            exclude 'META-INF/LGPL2.1'    

  •            exclude 'META-INF/ASL2.0'    

  •     }    

  •       

  •     //測(cè)試所在的路徑,這里假設(shè)是tests文件夾,沒(méi)有可以不寫這一行  

  •     instrumentTest.setRoot('tests')  

  •   

  •     // Move the build types to build-types/  

  •     // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...  

  •     // This moves them out of them default location under src//... which would  

  •     // conflict with src/ being used by the main source set.  

  •     // Adding new build types or product flavors should be accompanied  

  •     debug.setRoot('build-types/debug')  

  •     release.setRoot('build-types/release')  

  • }  

 


標(biāo)題名稱:Android小白的學(xué)習(xí)之路
新聞來(lái)源:http://weahome.cn/article/jocgpi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部