1. 程式人生 > >建立第一個Android Studio專案(介面介紹、打包簽名等)

建立第一個Android Studio專案(介面介紹、打包簽名等)

開發第一應用

可以開發屬於自己的應用,是否有點小激動?好吧!讓我們開始,首先點選Start a new Android Studio Project建立工程:

這裡寫圖片描述

接下來需要輸入應用名稱(第一個字母要大寫)、公司域以及指定應用存放目錄,點選Next按鈕進入下一步:

這裡寫圖片描述

如果第一個字母不是大寫,會提示:The application name for most app begins with an uppercase letter

接下來需要選擇開發什麼裝置(可選“手機和平板”、“穿戴(Wear)”、“TV”,“車載(Android Auto)”等)上的應用,以及確定最小SDK的版本號。

Minimum SDK的作用是在應用安裝前,會對裝置的Android版本做校驗,如果裝置的Android版本低於這個最小版本會阻止使用者安裝應用。

這裡寫圖片描述

如果不知道怎麼選擇最小版本可以點選Help me choose看看每個版本的分佈圖表和描述:

這裡寫圖片描述

繼續點選Next按鈕進行下一步,我們需要通過形象友好的GUI模板,來選擇我們第一個Activity的樣式:

這裡寫圖片描述

然後需要給Activity和Layout起一個名字。

這裡寫圖片描述

點選Finish按鈕後,Android Studio開始建立並編譯應用。編譯結束後,我們就可以看到Android Studio的IDE介面了。

這裡寫圖片描述

從圖上可以看出Android Studio已經幫我們將工程組織的很好了。

介面介紹

這裡寫圖片描述

如上圖所示,我將介面分為5個區域做詳細的講解:

  • 區域1介紹

這裡寫圖片描述

這個區域是執行和除錯相關的操作。

1、編譯2中顯示的模組

2、當前專案的模組列表

3、執行2中顯示的模組

4、除錯2中顯示的模組

5、測試2中顯示的模組程式碼覆蓋率

6、除錯安卓執行的程序

7、重新執行2中顯示的模組

8、停止執行2中顯示的模組

  • 區域2介紹

這裡寫圖片描述

這個區域主要是和Android裝置和虛擬機器相關的操作。

1、虛擬裝置管理。

2、同步工程的Gradle檔案,一般在Gradle配置被修改的時候需要同步一下。

3 、專案結構,一些專案相關的屬性配置。

4、Android SDK管理

5、Genymontion模擬器(需要裝Genymontion外掛,安裝篇[模擬器安裝]部分)

  • 區域3介紹

這裡寫圖片描述

這個區域主要是工程檔案資源等相關的操作。

1、展示專案中檔案的組織方式,預設是以Android方式展示的,可選擇“Project、Packages、Scratches、ProjectFiles、Problems…”等展示方式。平時用的最多的就Android和Project兩種。

2、定位當前開啟檔案在工程目錄中的位置。

3、關閉工程目錄中所有的展開項。

4、額外的一些系統配置,點開後是一個彈出選單:

這裡寫圖片描述

Autoscroll to Source 和 Autoscroll from Source兩個勾選起來後,Android Studio會自動定位當前編輯檔案在工程中的位置,用起來會很爽。其他功能大家可以自己摸索摸索。

  • 區域4介紹

這裡寫圖片描述

這個區域主要是用來編寫程式碼和設計佈局。

1、已開啟的檔案的Tab頁。(在Tab頁上按下Ctrl鍵 + 點選滑鼠會出現一個彈出選單會有驚喜哦!)

2、UI佈局預覽區域。

3、佈局編輯模式切換,對於一些老鳥來說更喜歡通過Text來編輯佈局,新手可以試試Design編輯佈局,編輯後再切換到Text模式,對於學習Android佈局設計很有幫助。

  • 區域5介紹

這裡寫圖片描述

這個區域大部分是用來檢視一些輸出資訊的。

1、終端 - 喜歡命令列操作的夥伴不用額外啟動終端了。

2、監控 - 可以檢視應用的一些輸出資訊。

3、資訊 - 工程編譯的一些輸出資訊。

4、執行 - 應用執行後的一些相關資訊。

5、TODO - 標有TOTO註釋的列表。

6、事件 - 一些事件日誌。

7、Gradle控制檯,通過這個可以瞭解Gradle構建應用的時候一些輸出資訊。

Android Studio目錄結構

這裡寫圖片描述

1、Gradle編譯系統,版本由wrapper指定

2、Android Studio IDE所需要的檔案

3、應用相關檔案的存放目錄

4、編譯後產生的相關檔案

5、存放相關依賴庫

6、程式碼存放目錄

7、資原始檔存放目錄(包括:佈局、影象、樣式等等)

8、應用程式的基本資訊清單,描述哪些個元件是存在的

9、Git版本管理忽略檔案,標記出哪些檔案不用進入git庫中

10、Android Studio的工程檔案

11、模組的gradle相關配置

12、程式碼混淆規則配置

13、工程的gradle相關配置

14、gradle相關的全域性屬性設定

15、本地屬性設定(key設定,android sdk位置等屬性)

應用開發除錯

這裡寫圖片描述

如上圖1所示在需要除錯的行號處點選設定斷點,然後點選2所示的Debug按鈕(或直接按下Shift+F9快捷鍵)開始除錯。

這裡寫圖片描述

如上圖所示Android Studio下方出現了除錯檢視。

1、當前程式停留的程式碼行

2、除錯相關的一些按鈕

3、程式呼叫棧區,該區域顯示了程式執行到斷點處所呼叫過的所有方法,越下面的越早被呼叫。

4、區域性變數觀察區

5、使用者自定義變數觀察區

這裡寫圖片描述

1、Step Over(F8) - 程式向下執行一行,如果當前行有方法呼叫,這個方法執行完畢返回,然後到下一行。

2、Step Into(F7) - 程式向下執行一行,如果當前行有使用者自定義方法(非官方類庫方法)呼叫,則進入該方法。

3、Force Step Into(Alt+Shift+F7) - 程式向下執行一行,如果當前行有方法呼叫,則進入該方法。

4、Step Out(Shift+F8) - 如果在除錯的時候你進入了一個方法,並覺得該方法沒有問題,你就可以使用Step Out跳出該方法,返回到該方法被呼叫處的下一行語句。值得注意的是,該方法已執行完畢。

5、Drop Frame - 點選該按鈕後,你將返回到當前方法的呼叫處重新執行,並且所有上下文變數的值也回到那個時候。只要呼叫鏈中還有上級方法,可以跳到其中的任何一個方法。

6、Run to Cursor(Alt+F9) - 一直執行到游標所在的位置。

7、Resume Program(F9) - 一直執行程式直到碰到下一個斷點。

8、View Backpoints(Ctrl + Shift +F8) - 檢視你設定過的所有斷點並可以設定斷點的一些屬性

9、Mute Backpoints - 選中後所有的斷點別設定成無效狀態。再次點選可以重新設定所有斷點有效。

在點選了View Backpoints按鈕後,會出現一個斷點屬性視窗,可以對斷點進行一些更高階的設定。

這裡寫圖片描述

1、列出了所有程式中設定的斷點

2、可以輸入條件,在條件成立後斷點才起作用(例如:在輸入框中輸入 i == 8),這種帶條件斷點在實際開發過程中非常有用。也可以通過右鍵點選斷點來設定條件斷點,如下圖:

這裡寫圖片描述

好了,到這裡除錯相關的功能都介紹完了。

應用打包簽名

基礎
一個 Android Studio 專案中,會存在多個 .gradle 檔案。其中, project 目錄下存在一個 build.gradle 檔案和每一個 module 會存在一個 build.gradle 檔案。

工程中的build.gradle

buildscript {
    repositories {   
      jcenter()   // 宣告使用 maven 倉庫
    }
    dependencies {   
      // 依賴android提供的2.1.0-alpha5的gradle build
      classpath 'com.android.tools.build:gradle:2.1.0-alpha5'
    }
}
// 為所有的工程的repositories配置為jcenters
allprojects {
    repositories {
    jcenter()
    }
}

// 清楚工程的任務
task clean(type: Delete) {
    delete rootProject.buildDir
}

模組中的build.gradle

// 這表示該module是一個app module
apply plugin: 'com.android.application'
android {
    // 基於哪個版本編譯
    compileSdkVersion 23
    // 基於哪個構建工具版本進行構建的
    buildToolsVersion "23.0.3"

    // 預設配置主要包括:應用ID,最小SDK版本,目標SDK版本,應用版本號、應用版本名
    ​​​​​​​defaultConfig {
        applicationId "open_open.com.helloworld"
        minSdkVersion 10
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    // buildTypes是構建型別,常用的有release和debug兩種,可以在這裡面啟用混淆,啟用zipAlign以及配置簽名信息等。
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

// dependencies它定義了該module需要依賴的jar,aar,jcenter庫資訊。
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
}

打包簽名

選擇Build->Generate Signed APK…,如下圖:

這裡寫圖片描述

在彈窗中一直Next直到下面這個介面:

這裡寫圖片描述

在沒有Key的情況下,我們可以先點選Create new…按鈕來建立一個Key,建立過程很簡單,如下圖:

這裡寫圖片描述

如果你已經存在Key了,那就點選Choose existing…按鈕指定.jks檔案位置,如下圖:

這裡寫圖片描述

輸入Key store password和Key password(在建立Key的時候輸入的那兩個密碼),點選Next按鈕:

這裡寫圖片描述

接下來就點選Finish按鈕,坐等AS打包簽名完成,簽名完成後AS會提示我們:

這裡寫圖片描述

點選Show in Explorer,可以找到我們簽名好的APK檔案:

這裡寫圖片描述