AndroidAndroid入門


備註

如果您想了解有關Android Gradle插件設置的更多信息,請查看android-gradle文檔

如果您對替代模擬器感興趣,可以查看Genymotion 。它提供免費計劃,需要較少的RAM。

版本

API級別版本代碼發布日期
1.0 1 BASE 2008-09-23
1.1 2 BASE_1_1 2009-02-09
1.5 3 CUPCAKE 2009-04-27
1.6 4 DONUT 2009-09-15
2.0 ECLAIR 2009-10-26
2.0.1 6 ECLAIR_0_1 2009-12-03
2.1.x的 7 ECLAIR_MR1 2010-01-12
2.2.x中 8 FROYO 2010-05-20
2.3 9 GINGERBREAD 2010-12-06
2.3.3 10 GINGERBREAD_MR1 2011-02-09
3.0.x的 11 HONEYCOMB 2011-02-22
3.1.X 12 HONEYCOMB_MR1 2011-05-10
3.2.x中 13 HONEYCOMB_MR2 2011-07-15
4 14 ICE_CREAM_SANDWICH 2011-10-18
4.0.3 15 ICE_CREAM_SANDWICH_MR1 2011-12-16
4.1 16 JELLY_BEAN 2012-07-09
4.2 17 JELLY_BEAN_MR1 2012年11月13日
4.3 18 JELLY_BEAN_MR2 2013年7月24日
4.4 19 KITKAT 2013年10月31日
4.4W 20 KITKAT_WATCH 2014-06-25
5 21 LOLLIPOP 2014年11月12日
5.1 22 LOLLIPOP_MR1 2015年3月9日
6 23 M (棉花糖) 2015年10月5日
7 24 N (牛軋糖) 2016年8月22日
7.1 25 N_MR1 (牛N_MR1糖MR1) 2016年10月4日
8 26 O (開發者預覽版4) 2017年7月24日

沒有IDE的Android編程

這是一個極簡主義的Hello World示例 ,僅使用最基本的Android工具。

要求和假設

  • Oracle JDK 1.7或更高版本
  • Android SDK工具(只是命令行工具

這個例子假設Linux。您可能必須調整自己平台的語法。

設置Android SDK

解壓縮SDK版本後:

  1. 使用SDK管理器安裝其他軟件包。不要按照捆綁的Readme.txt中的指示使用android update sdk --no-ui ;它下載了大約30 GB的不必要文件。而是使用交互式SDK管理器android sdk 來獲得建議的最小包。

  2. 將以下JDK和SDK目錄附加到執行PATH。這是可選的,但下面的說明假定它。

    • JDK / bin中
    • SDK /平台的工具
    • SDK /工具
    • SDK / build-tools / LATEST (在步驟1中安裝)
  3. 創建Android虛擬設備。使用交互式AVD管理器( android avd )。您可能需要調整一下並尋求建議; 現場說明並不總是有用。

    (您也可以使用自己的設備)

  4. 運行設備:

    emulator -avd DEVICE
     
  5. 如果設備屏幕似乎已鎖定,則滑動以將其解鎖。

    在編寫應用程序時讓它保持運行。

編寫應用程序

  1. 切換到空工作目錄。

  2. 製作源文件:

    mkdir --parents src/dom/domain
    touch src/dom/domain/SayingHello.java
     

    內容:

    package dom.domain;
    import android.widget.TextView;
    
    public final class SayingHello extends android.app.Activity
    {
        protected @Override void onCreate( final android.os.Bundle activityState )
        {
            super.onCreate( activityState );
            final TextView textV = new TextView( SayingHello.this );
            textV.setText( "Hello world" );
            setContentView( textV );
        }
    }
     
  3. 添加清單:

    touch AndroidManifest.xml
     

    內容:

    <?xml version='1.0'?>
    <manifest xmlns:a='http://schemas.android.com/apk/res/android'
     package='dom.domain' a:versionCode='0' a:versionName='0'>
        <application a:label='Saying hello'>
            <activity a:name='dom.domain.SayingHello'>
                 <intent-filter>
                    <category a:name='android.intent.category.LAUNCHER'/>
                    <action a:name='android.intent.action.MAIN'/>
                    </intent-filter>
                </activity>
            </application>
        </manifest>
     
  4. 為聲明的資源創建一個子目錄:

    mkdir res
     

    暫時把它留空。

構建代碼

  1. 生成資源聲明的源。在這裡替換SDK的正確路徑,以及要構建的已安裝API (例如“android-23”):

    aapt package -f \
      -I SDK/platforms/android-API/android.jar \
      -J src -m \
      -M AndroidManifest.xml -S res -v
     

    資源聲明(下面進一步描述)實際上是可選的。同時,如果res /仍為空,則上述調用不執行任何操作。

  2. 將源代碼編譯為Java字節碼(.java→.class):

    javac \
      -bootclasspath SDK/platforms/android-API/android.jar \
      -classpath src -source 1.7 -target 1.7 \
      src/dom/domain/*.java
     
  3. 將字節碼從Java轉換為Android(.class→.dex):

    首先使用Jill(.class→.jayce):

    java -jar SDK/build-tools/LATEST/jill.jar \
      --output classes.jayce src
     

    傑克(.jayce→.dex):

    java -jar SDK/build-tools/LATEST/jack.jar \
      --import classes.jayce --output-dex .
     

    Android字節碼曾被稱為“Dalvik可執行代碼”,因此稱為“dex”。

    如果你願意的話,你可以用一次電話取代Jack替換步驟11和12;它可以直接從Java源代碼編譯(.java→.dex)。但是使用javac 進行編譯有一些優勢。它是一個更好的已知,更好的文檔和更廣泛適用的工具。

  4. 打包資源文件,包括清單:

    aapt package -f \
      -F app.apkPart \
      -I SDK/platforms/android-API/android.jar \
      -M AndroidManifest.xml -S res -v
     

    這導致部分APK文件(Android應用程序包)。

  5. 使用ApkBuilder 工具製作完整的APK:

    java -classpath SDK/tools/lib/sdklib.jar \
      com.android.sdklib.build.ApkBuilderMain \
      app.apkUnalign \
      -d -f classes.dex -v -z app.apkPart
     

    它警告說,“這個工具已被棄用。有關更多信息,請參閱--help。”如果--help 失敗並出現ArrayIndexOutOfBoundsException ,則不傳遞任何參數:

    java -classpath SDK/tools/lib/sdklib.jar \
      com.android.sdklib.build.ApkBuilderMain
     

    它解釋了不推薦使用CLI( ApkBuilderMain ),而是直接調用Java API( ApkBuilder )。 (如果您知道如何從命令行執行此操作,請更新此示例。)

  6. 優化APK的數據對齊( 推薦做法 ):

    zipalign -f -v 4 app.apkUnalign app.apk
     

安裝並運行

  1. 將應用安裝到Android設備:

    adb install -r app.apk
     
  2. 啟動應用:

    adb shell am start -n dom.domain/.SayingHello
     

    它應該運行並打個招呼。

就這樣。這就是用基本的Android工具打招呼所需要的。

聲明資源

此部分是可選的。簡單的“hello world”應用程序不需要資源聲明。如果您的應用程序不需要它們,那麼您可以通過省略步驟10並從步驟13中刪除對res /目錄的引用來稍微簡化構建。

否則,這是一個如何聲明資源以及如何引用它的簡短示例。

  1. 添加資源文件:

    mkdir res/values
    touch res/values/values.xml
     

    內容:

    <?xml version='1.0'?>
    <resources>
        <string name='appLabel'>Saying hello</string>
    </resources>
     
  2. 從XML清單引用資源。這是一種聲明式的參考風格:

    <!-- <application a:label='Saying hello'> -->
         <application a:label='@string/appLabel'>
     
  3. 從Java源引用相同的資源。這是一個必要的參考:

    // v.setText( "Hello world" );
       v.setText( "This app is called "
         + getResources().getString( R.string.appLabel ));
     
  4. 通過重建,重新安裝和重新運行應用程序來測試上述修改(步驟10-17)。

    它應該重新啟動並說“這個應用程序叫做Saying hello”。

卸載應用程序

adb uninstall dom.domain
 

也可以看看

應用基礎知識

Android應用程序是用Java編寫的。 Android SDK工具將代碼,數據和資源文件編譯為APK(Android包)。通常,一個APK文件包含應用的所有內容。

每個應用程序都在自己的虛擬機(VM)上運行,以便應用程序可以與其他應用程序隔離運行。 Android系統使用最小權限原則。每個應用程序只能訪問其工作所需的組件,而不是更多。但是,有一些應用程序可以與其他應用程序共享數據,例如通過在應用程序之間共享Linux用戶ID,或者應用程序可以請求訪問SD卡,聯繫人等設備數據的權限。

應用組件

應用程序組件是Android應用程序的構建塊。每個組件在Android應用程序中扮演特定角色,該應用程序具有不同的用途並具有不同的生命週期(組件創建和銷毀的方式和時間流程)。以下是四種類型的應用程序組件:

  1. 活動:活動表示具有用戶界面(UI)的單個屏幕。 Android應用可能包含多項活動。 (例如,電子郵件應用程序可能有一個活動列出所有電子郵件,另一個用於顯示每封電子郵件的內容,另一個用於撰寫新電子郵件。)應用程序中的所有活動共同創建用戶體驗(UX)。
  2. 服務:服務在後台運行以執行長時間運行的操作或執行遠程進程的工作。服務不提供任何UI,它僅在用戶輸入的後台運行。 (例如,當用戶在不同的應用程序中時,服務可以在後台播放音樂,或者它可以從互聯網上下載數據而不會阻止用戶與Android設備的交互。)
  3. 內容提供商:內容提供商管理共享應用數據。有四種方法可以在應用程序中存儲數據:它可以寫入文件並存儲在文件系統中,插入或更新到SQLite數據庫,發佈到Web或保存在App可以訪問的任何其他持久存儲位置。通過內容提供商,其他應用可以查詢甚至修改數據。 (例如,Android系統提供管理用戶聯繫信息的內容提供商,以便任何具有權限的應用可以查詢聯繫人。)內容提供商還可用於保存應用程序專用的數據,以提高數據完整性。
  4. 廣播接收器:廣播接收器響應系統範圍的廣播廣播(例如,宣布屏幕已關閉,電池電量低等的廣播)或來自應用程序(例如,讓其他應用程序知道某些數據已被下載到設備並可供他們使用)。廣播接收器沒有UI,但是它們可以在狀態欄中顯示通知以提醒用戶。通常,廣播接收器用作應用程序其他組件的網關,主要由活動和服務組成。

Android系統的一個獨特之處在於,任何應用程序都可以啟動另一個應用程序的組件(例如,如果您想要撥打電話,發送短信,打開網頁或查看照片,有一個應用程序已經這樣做,您的應用程序可以利用它,而不是為同一個任務開發一個新的活動)。

當系統啟動一個組件時,它會啟動該應用程序的進程(如果它尚未運行,即每個應用程序在Android系統上的任何給定時間只能運行一個前台進程)並實例化該組件所需的類。因此,組件在其所屬的應用程序的進程上運行。因此,與其他系統上的應用程序不同,Android應用程序沒有單個入口點(沒有main() 方法)。

由於系統在單獨的流程中運行每個應用程序,因此一個應用程序無法直接激活其他應用程序的組件,但Android系統可以。因此,要啟動另一個應用程序的組件,一個應用程序必須向系統發送一條消息,指定啟動該組件的意圖,然後系統將啟動該組件。

上下文

android.content.Context 類的實例提供與執行應用程序的Android系統的連接。需要Context的實例來訪問項目的資源以及有關應用程序環境的全局信息。

讓我們有一個易於理解的例子:假設你在酒店,你想要吃點東西。你打電話給客房服務,並要求他們帶給你東西或為你清理東西。現在想想這個酒店作為一個Android應用程序,你自己作為一項活動,然後客房服務人員就是你的背景,它可以讓你訪問酒店資源,如客房服務,食品等。

還有一個例子,你坐在一張桌子上的餐廳,每張桌子都有一個服務員,當你想訂購食品時,你要求服務員這樣做。然後服務員下訂單,食物送到您的桌子上。再次在這個例子中,餐廳是一個Android應用程序,表或客戶是應用程序組件,食品項目是您的應用程序資源,服務員是您的上下文,從而為您提供訪問食品等資源的方法。

激活上述任何組件都需要上下文的實例。不僅僅是上述,而且幾乎每個系統資源:使用視圖創建UI(稍後討論),創建系統服務實例,啟動新活動或服務 - 都需要上下文。

更詳細的描述寫在這裡

創建一個新項目

設置Android Studio

首先設置Android Studio ,然後打開它。現在,您已準備好製作首個Android應用程序了!

注意:本指南基於Android Studio 2.2,但其他版本的過程主要是相同的。

配置您的項目

基本配置

您可以通過兩種方式啟動新項目:

  • 單擊歡迎屏幕中的“ Start a New Android Studio Project ”。
  • 如果您已打開New Project ,請導航到FileNew Project

接下來,您需要填寫一些字段來描述您的應用程序:

  1. 應用程序名稱 - 此名稱將顯示給用戶。

    示例: Hello World 。您可以隨後在AndroidManifest.xml 文件中進行更改。

  2. 公司域 - 這是項目包名稱的限定符。

    示例: stackoverflow.com

  3. 包名稱 (又名applicationId ) - 這是完全限定的項目包名稱。

    它應該遵循反向域名表示法 (又名反向DNS ): 頂級域名 公司域名 [ 公司細分 ] 申請名稱

    示例: com.stackoverflow.android.helloworldcom.stackoverflow.helloworld 。您始終可以通過在gradle文件中覆蓋applicationId來更改它。

除非您不打算將您的應用程序提交到Google Play商店,否則請勿使用默認前綴“com.example”。包名稱將是您在Google Play中的唯一applicationId

  1. 項目位置 - 這是存儲項目的目錄。

新項目對話框

選擇Form Factors和API Level

在下一個窗口中,您可以選擇應用支持的外形規格,例如手機,平板電腦,電視,Wear和Google Glass。選定的形狀因子成為項目中的app模塊。對於每種外形規格,您還可以選擇該應用的API級別。要獲取更多信息,請單擊“ 幫助我選擇”

在此處輸入圖像描述 當前Android版本發行版的圖表,當您單擊“幫助我選擇”時顯示。

Android平台分發窗口顯示運行每個Android版本的移動設備的分佈,如圖2所示。單擊API級別以查看相應Android版本中引入的功能列表。這有助於您選擇具有應用所需的所有功能的最低API級別,以便您可以訪問盡可能多的設備。然後單擊確定

現在,選擇應用程序將支持的Android SDK平台和版本

SDK版本對話框

目前,僅選擇手機和平板電腦

最低SDK是您的應用程序的下限。這是Google Play Store 用於確定可以安裝應用的設備的信號之一。例如, Stack Exchange的應用程序支持Android 4.1+。

Stack Exchange的應用程序
Android Studio會告訴您(大約)在指定的最小SDK的情況下支持的設備百分比。

較低的API級別針對更多設備,但可用的功能較少。

在決定使用Minimum SDK時 ,您應該考慮Dashboards統計信息 ,它會為您提供有關上周訪問Google Play商店的設備的版本信息。

當前Android發行版的截圖

來自:Android開發者網站上的Dashboards

添加活動

現在我們將為我們的應用程序選擇一個默認活動。在Android中, Activity 是一個將呈現給用戶的單個屏幕。應用程序可以容納多個活動並在它們之間導航。對於此示例,請選擇Empty Activity 並單擊next。

在這裡,如果您願意,可以更改活動和佈局的名稱。一個好的做法是將Activity 作為活動名稱的後綴,並將activity_ 作為佈局名稱的前綴。如果我們將這些保留為默認值,Android Studio將為我們生成一個名為MainActivity 的活動,以及一個名為activity_main 的佈局文件。現在單擊Finish

Android Studio將創建和配置我們的項目,這可能需要一些時間,具體取決於系統。

檢查項目

要了解Android的工作原理,讓我們來看看為我們創建的一些文件。

在Android Studio的左側窗格中,我們可以看到Android應用程序結構

基本應用結構

首先,讓我們通過雙擊打開AndroidManifest.xml 。 Android清單文件描述了有關Android應用程序的一些基本信息。它包含我們活動的聲明,以及一些更高級的組件。

如果應用程序需要訪問受權限保護的功能,則必須聲明它需要具有清單中<uses-permission> 元素<uses-permission> 。然後,當應用程序安裝在設備上時,安裝程序通過檢查簽署應用程序證書的權限並在某些情況下詢問用戶來確定是否授予所請求的權限。應用程序還可以使用權限保護自己的組件(活動,服務,廣播接收器和內容提供商)。它可以使用Android定義的任何權限(在android.Manifest.permission中列出)或由其他應用程序聲明。或者它可以定義自己的。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.stackoverflow.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
 

接下來,讓我們打開位於app/src/main/res/layout/activity_main.xml 。此文件包含MainActivity的可視組件的聲明。你會看到視覺設計師。這允許您將元素拖放到選定的佈局上。

您還可以通過單擊Android Studio底部的“文本”切換到xml佈局設計器,如下所示:

佈局設計/文本選項卡

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.stackexchange.docs.helloworld.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>
 

您將在此佈局中看到一個名為TextView 的小部件,其中android:text 屬性設置為“Hello World!”。這是一個文本塊,將在用戶運行應用程序時顯示。

您可以閱讀有關佈局和屬性的更多信息。

接下來,我們來看看MainActivity 。這是為MainActivity 生成的Java代碼。

public class MainActivity extends AppCompatActivity {

    // The onCreate method is called when an Activity starts
    // This is where we will set up our layout
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // setContentView sets the Activity's layout to a specified XML layout
        // In our case we are using the activity_main layout
        setContentView(R.layout.activity_main);
    }
}
 

根據我們的Android清單中的定義,當用戶啟動HelloWorld 應用程序時, MainActivity 將默認啟動。

最後,打開位於app/ 名為build.gradle 的文件。
Android Studio使用構建系統Gradle來編譯和構建Android應用程序和庫。

apply plugin: 'com.android.application'

android {
signingConfigs {
         applicationName {
             keyAlias 'applicationName'
             keyPassword 'password'
             storeFile file('../key/applicationName.jks')
             storePassword 'anotherPassword'
         }
     }
    compileSdkVersion 26
    buildToolsVersion "26.0.0"

    defaultConfig {
        applicationId "com.stackexchange.docs.helloworld"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        signingConfig signingConfigs.applicationName
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:26.0.0'
}
 

此文件包含有關構建和應用程序版本的信息,您還可以使用它來向外部庫添加依賴項。現在,我們不做任何改變。

建議始終選擇可用於依賴項的最新版本:

compileSdkVersion

compileSdkVersion 是告訴Gradle用什麼版本的Android SDK來編譯你的應用程序的方法。使用新的Android SDK是使用該級別中添加的任何新API的要求。

應該強調的是,更改compileSdkVersion 不會改變運行時行為。雖然在更改compileSdkVersion 時可能存在新的編譯器警告/錯誤,但您的compileSdkVersion 不包含在您的APK中:它純粹在編譯時使用。

因此,強烈建議您始終使用最新的SDK進行編譯。您將獲得對現有代碼進行新編譯檢查的所有好處,避免新棄用的API,並準備好使用新API。

的minSdkVersion

如果compileSdkVersion 設置了最新的API,則minSdkVersion 是應用程序的下限minSdkVersion 是Google Play商店用於確定應用程序可以安裝在哪個用戶設備上的信號之一。

它在開發過程中也扮演著重要角色:默認情況下,lint針對您的項目運行,當您使用minSdkVersion 上方的任何API時會發出警告,幫助您避免嘗試調用不存在的API的運行時問題。在僅在較新的平台版本上使用API​​時,在運行時檢查系統版本是一種常見技術。

targetSdkVersion

targetSdkVersion 是Android通過不應用行為更改來提供向前兼容性的主要方式,除非更新了targetSdkVersion 。這允許您在完成行為更改之前使用新的API。更新以定位最新的SDK應該是每個應用程序的高優先級。這並不意味著您必須使用所引入的每個新功能,也不應該盲目地更新targetSdkVersion 而不進行測試。

targetSDKVersion是Android的版本,它是可用工具的上限。如果targetSDKVersion小於23,則即使應用程序在API 23+上運行,應用程序也不需要在運行時為實例請求權限。 TargetSDKVersion 並不妨礙Android的版本採摘Android版本上面運行的應用程序。

您可以找到有關Gradle插件的更多信息:

運行應用程序

現在,讓我們運行我們的HelloWorld應用程序。您可以運行Android虛擬設備(可以使用Android Studio中的AVD Manager進行設置,如下例所示),也可以通過USB線連接自己的Android設備。

設置Android設備

要在Android設備上從Android Studio運行應用程序,您必須在設備設置的Developer Options 中啟用USB Debugging

Settings > Developer options > USB debugging

如果在設置中看不到“ Developer Options ”,請導航至“ About Phone 然後點擊“ Build Number 七次。這將使Developer Options 顯示在您的設置中。

Settings > About phone > Build number

您還可能需要更改build.gradle 配置以構建設備所具有的版本。

從Android Studio運行

單擊Android Studio頂部工具欄中的綠色Run 按鈕。在出現的窗口中,選擇要在其上運行應用程序的設備(如有必要,請啟動Android虛擬設備,或者如果需要設置 ,請參閱設置AVD(Android虛擬設備) )並單擊“ OK

運行按鈕

在運行Android 4.4(KitKat)且可能更高的設備上,將顯示一個彈出窗口以授權USB調試。單擊“ OK 接受。

該應用程序現在將在您的Android設備或模擬器上安裝並運行。

APK文件位置

準備發布應用程序時,可以配置,構建和測試應用程序的發行版。配置任務很簡單,涉及基本代碼清理和代碼修改任務,有助於優化您的應用程序。構建過程類似於調試構建過程,可以使用JDK和Android SDK工具完成。測試任務可作為最終檢查,確保您的應用程序在實際條件下按預期執行。準備好發布應用程序後,您將擁有一個已簽名的APK文件,您可以將其直接分發給用戶或通過Google Play等應用程序市場進行分發。

Android Studio

由於在上面的示例中使用了Gradle,因此生成的APK文件的位置為: <Your Project Location>/app/build/outputs/apk/app-debug.apk

的IntelliJ

如果您在切換到Studio之前是IntelliJ的用戶,並且直接導入IntelliJ項目,則沒有任何更改。輸出的位置將在下面相同:

out/production/...
 

注意:這有時會在1.0左右被棄用

日食

如果您直接導入Android Eclipse項目,請不要這樣做!只要您的項目(罐子或庫項目)中有依賴項,這將無效,您的項目將無法正確設置。如果你沒有依賴關係,那麼apk將與你在Eclipse中找到它的位置相同:

bin/...
 

設置AVD(Android虛擬設備)

TL; DR它基本上允許我們模擬真實設備並在沒有真實設備的情況下測試我們的應用程序。

根據Android開發者文檔

通過Android虛擬設備(AVD)定義 ,您可以定義要在Android模擬器中模擬的Android手機,平板電腦,Android Wear或Android TV設備的特徵。 AVD Manager可幫助您輕鬆創建和管理AVD。

要設置AVD,請按照下列步驟操作:

1.單擊此按鈕以顯示AVD管理器:

AVD Manager圖標

2.你應該看到這樣的對話:

AVD Manager對話框

3.現在單擊+ Create Virtual Device... 按鈕。這將打開虛擬設備配置對話框:

虛擬設備配置對話框

4.選擇所需的任何設備,然後單擊“ Next

選擇系統映像

5.在這裡,您需要為您的模擬器選擇Android版本。您可能還需要先單擊“ Download 下載它。選擇版本後,單擊“ Next

高級設置

6.在此處輸入模擬器的名稱,初始方向以及是否要在其周圍顯示框架。選擇所有這些後,單擊“ Finish

7.現在您已準備好新的AVD,可以在其上啟動您的應用程序。

AVD

設置Android Studio

Android Studio是Android開發的IDE,由Google正式支持和推薦。 Android Studio捆綁了Android SDK Manager ,這是一個下載開始開發應用程序所需的Android SDK 組件的工具。

安裝Android Studio和Android SDK 工具:

  1. 下載並安裝Android Studio
  2. 通過打開Android Studio,然後按照Android SDK工具更新說明下載最新的SDK工具和SDK平台工具。您應該安裝最新的可用穩定包。

如果您需要處理使用較舊SDK版本構建的舊項目,則可能還需要下載這些版本

從Android Studio 2.2開始,最新的OpenJDK副本與安裝捆綁在一起,是所有Android Studio項目的推薦JDK (Java開發工具包)。這消除了安裝Oracle JDK包的要求。要使用捆綁的SDK,請執行以下操作:

  1. 在Android Studio中打開項目,然後在菜單欄中選擇“ 文件”>“項目結構 ”。
  2. SDK Location頁面和JDK位置下 ,選中Use embedded JDK複選框。
  3. 單擊確定

配置Android Studio

Android Studio通過“ 幫助”菜單提供對兩個配置文件的訪問:

  • studio.vmoptions :自定義Studio的Java虛擬機(JVM)選項,例如堆大小和緩存大小。請注意,在Linux計算機上,此文件可能名為studio64.vmoptions ,具體取決於您的Android Studio版本。
  • idea.properties :自定義Android Studio屬性,例如插件文件夾路徑或支持的最大文件大小。

更改/添加主題

您可以根據自己的喜好進行更改。 File->Settings->Editor->Colors & Fonts-> 並選擇一個主題。您也可以從http://color-themes.com/下載新主題。下載.jar.zip 文件後,轉到File -> Import Settings... 並選擇下載的文件。

編譯應用程序

在Android Studio中創建新項目或打開現有項目,然後按綠色“播放”按鈕在此處輸入圖像描述在頂部工具欄上運行它。如果它是灰色的,您需要等待一秒鐘以允許Android Studio正確索引某些文件,其進度可以在底部狀態欄中看到。

如果要從shell創建項目,請確保您具有local.properties 文件,該文件由Android Studio自動創建。如果您需要在沒有Android Studio的情況下創建項目,則需要以sdk.dir= 開頭的行,然後是SDK安裝的路徑。

打開一個shell並進入項目目錄。輸入./gradlew aR 並按Enter鍵。 aRassembleRelease 的快捷方式,它將為您下載所有依賴項並構建應用程序。最終的APK文件將在ProjectName/ModuleName/build/outputs/apk ,並將被稱為ModuleName-release.apk