Android Studio安裝、配置、第一個程式的那些坑

来源:https://www.cnblogs.com/BrotherXiang/archive/2018/04/21/8900609.html
-Advertisement-
Play Games

相信大部分人都被Android Studio環境配置搞得很頭痛,至少我為這個配置花費了將近5h,Android Studio作為一款強大的IDE,比起Eclipse來說,更加方便Android的開發,但作為新手的我們不應該因為Android Studio的配置而打退堂鼓,這篇文章儘量從配置原理方面來... ...


  最近在上Android課,老師佈置了量大題難的作業,然而出師未捷身先死,還沒看題目,就被Android Studio的安裝和環境配置搞得要死要死的,網上的教程也多也雜,良莠不齊,在經歷了5小時通過的搜集試驗後,在此總結自己安裝配置過程,為以後搞安卓的人能少走一點彎路,也是對自己這麼辛苦的一個反思提升。

  我下麵所總結的,也許隨著時間推移,會變得陳舊,沒用,但我儘量的從安裝配置原理上解釋,在技術不變的前提下,希望能對之後配置界面發生改變時無從著手的開發者,有一點啟發。

Part 1 —— Android Studio、Android SDK及其對應的安裝

  Android是Google公司領導的,基於Linux開源代碼的,用於移動設備的操作系統,而Android SDK(software development kit)是調用這個操作系統的一個介面,就像Windows里,點擊我的電腦(調用介面)瀏覽文件一樣,SDK不僅提供一些與底層硬體交互的函數,還提供了頂層的組件,像進度條、文本框之類的調用介面。

  推薦進入AndroidStudio進行安裝,進入網址後,面對這麼多的工具可能無從著手,下麵會進行一點一點講解安裝。

  推薦上面鏈接的目的是,Android是Google提供的下載源,然後我大天朝牆了Google,厚如鐵石,如果想嘗試懷疑人生的下載,非要頭鐵掛VPN去官網下,那我只能說:

   打開上面工具下載的網址,並且點擊Android Studio、和Android SDK的下載鏈接,因為Android Studio是基於Gradle管理項目的,這個東西在你建立第一個項目的時候會下載,但是速度時快時慢,所以還是從上述網址下載下來好,在查看網頁時,會看到SDK Tool,SDK Platform等干擾項,其實只用下載SDK Installer,則Tool,Platform都能通過Installer安裝,在後面會講解Tool ,SDK,Platform到底是個啥(一開始,我也被搞懵了,也沒看到有類似的教程),下麵是下載截圖。

   下載好後,先安裝Android SDK,安裝Android Studio(不要著急打開Studio,因為笨蛋Studio不會檢測系統環境變數,直接叫下下載SDK,反正當時我嘗試這樣下載SDK沒有下載成功,還不是網速問題而是目錄有問題,Google都找不到方法解決,最後堅定分開下載的決心);

  下載好SDK後,進入SDK安裝目錄,裡面有兩個東西值得註意:

   SDK之前已經說了,AVD(Android Vitrual Device)是在電腦上模擬安卓的虛擬機一般的存在,加上Manager就是管理工具,Android Studio就是通過調用這兩個東東搭建的開發集成環境(進行介面調用SDK,使用AVD顯示效果),打開SDK Manager,為了提高下載速度,修改鏡像源——網址:mirrors.neusoft.edu.cn 埠:80,然後下載預設勾選的文件。

   直接點擊close就算保存設置了,然後點擊Packages->reload享受不算慢的速度吧(因為本學校宿舍網能連Google,活動中心上不了(迷之奇怪,難道宿舍和活動中心用的不是一個路由出口商)所以在宿舍我沒設鏡像也很快,hhhhhhhh),下麵參照SDK Manager中的列表,來說主要部件

    1. Build-tools——這個東西就是用來鏈接組織代碼用的(像C語言的link,沒它build工程很麻煩的)和最好下麵的SDK版本相對應
    2. SDK Platform組件包,Android程式的調用介面,其本質像C下的dll和Lib文件,Image就是電腦上的虛擬安卓系統安裝包。

   然後安裝Studio,記住,安裝完後不要直接打開,進入Studio的bin目錄,找到如下文件,在文件最末尾添加一行:disable.android.first.run=true,就能跳過引導程式了,進入如下界面。

  點擊最右圖右下角的Configure->Project Default->Project Structure打開設置界面。

  上面SDK就填剛纔SDK的路徑,而JDK的話(已經在安裝Android了,不可能沒裝JAVA╮(╯▽╰)╭)

  配置好基礎組件後,就可以開始創建項目了,點擊新建項目,一路next(這個特簡單,就不展示了),確認建立項目後,就彈出Building。

  如果你嫌下載速度會很慢,上面已經下載好得Gradle.zip文件就能幫助解決這個問題,仔細看上面右圖彈出得Building視窗,其實就是下載前面下載好的zip文件,所以只需將zip文件放在對應位置,就行了【Android Studio 中的Gradle是放在用戶路徑下管理的】。

  我沒下Zip(因為校園網速度快hhhh),不過它的原理是:將zip文件下載到上面目錄(不用解壓),然後再建立項目時,就會解壓,IDE就接著用(有沒有感覺很low ╮(╯▽╰)╭)。

  在實際安裝過程中大家可能會發現,點擊新建項目後,在文件夾下生成gradle文件夾名版本和下載版本不匹配,在這篇博文中有很好的解決辦法,就是修改配置文件的事

Part 2 —— Android AVD運行項目

  上面步驟創建並搭載好了一個Android工程,因為這個工程我是從模板(Empty Activity)創建的,需要將工程載入進安卓環境中展示效果,下麵一步一步說我在載入過程遇到的坑 QAQ

  當第一次建立或者重新打開工程時,Android Studio會自動為我們Gradle build(我也不太清楚Gradle是什麼,目前暫時認知為:安裝管理程式,我們可以從Gradle倉庫(當然倉庫是個網址)中,通過工程下的配置文件()導入任何第三方庫及其依賴,方便我們進行第三方庫管理,除此之外,它還會檢查項目Build時必須工具的。在build過程中可能出現錯誤,仔細觀察錯誤信息,我遇到的錯誤信息是:build-tools需要24版本的,這可以通過Android SDK Manager下載來解決(其實這一步驟應該只用通過Android SDK Manager下載相應工具就能解決)

  Build完後,點擊執行,彈出視窗(有個已經創建好的虛擬機,但目前請忽視它)

  1.  Connected Devices —— 已經在運行的安卓虛擬機,保持虛擬機的運行,以後就不需要每次執行項目都開一個虛擬機
  2. Available Vitual Devices——能用的安卓虛擬機(沒有運行,選中點擊ok運行後會出現在connected devices中),通過這個列表,我們可以在不同機型,不同版本的Android虛擬機上執行程式。
  3. 第一次運行程式是沒有虛擬機的,這裡建議使用Create New Virtual Device建立虛擬機而不是通過與SDK Manager同目錄的AVD Manager建立(布吉島為什麼,AVD Manager建立的會出問題,在Android Studio下同樣調用這些介面 更穩妥些)

  點擊新建虛擬機,彈出視窗,新手建議選中帶有Play Store的,因為選其他的要可能調各種bug。

   點擊Next後,彈出重要視窗

   這裡的Image就是我們前面通過SDK Manager安裝的鏡像文件,獨立安裝過系統的朋友都知道,可以通過將Image刻錄在U盤上進行系統安裝,在選擇Image時註意,選擇一個導致右圖的AVD黑屏的配置後,可以通過降低API版本來達到正常顯示,再三提醒,在沒有Image時,通過SDK Manager來安裝,安裝完後,點擊上面視窗下的刷新按鈕就能看到剛纔下載的鏡像,除此之外,還要進行一些配置,因為我們版本降低的原因,比如:我做的時候將image版本從27降到25,需要修改build.gradle文件,下麵幾個值,大家隨意修改,直到有能正常編譯並展示在AVD中的配置為止(我是只修改了targetSdkVersion:27->25,對於這樣的更改,載入進虛擬機時會出現簽名錯誤,需要依次點擊才行)。

   一路Next後,我們創建好了虛擬機,但點擊執行時,卻要求我們裝HAMX,這個東西,是Intel CPU才能使用的技術,其他CPU不知道怎麼辦,安裝這個東西的辦法是:通過SDK Manager安裝(然而Manager提示與Windows不相容不能下載,其實並非不相容╮(╯▽╰)╭,我用後面的方法也能解決問題),還可以通過官網下載安裝包進行安裝。哦,對了,HAMX需要電腦開啟虛擬化技術——在電腦開機時按F2進入Bios打開(這個簡單,自行百度,不過一般玩過Vitrual Box的都知道怎麼開啟,如果你能正常運行程式【像下麵那樣】的話,那就不用管了)

  至此,我遇到的問題及解決方法已經說完了,創建虛擬機後,搭配好環境後,點擊執行,出現如下頁面,代表你虛擬機能成功運行,你的項目能在虛擬機上運行(二者是獨立的,虛擬機能運行,不代表項目能運行)。

  註意虛擬機不是你一點執行就能載入你的項目,需要先虛擬化出虛擬機,再安裝你的項目,第一次打開虛擬機需要等待1~3min,等待下麵這玩意載入完


   大家在安裝過程中有遇到什麼問題,歡迎留言評論區,如果我能看到,儘量解答,讓大家少走一些彎路。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 許可權問題: 700 .ssh 600 authorized_keys 600 id_rsa 644 (其他文件) 如果還不行,在伺服器輸入以下命令: eval "$(ssh-agent -s)" s ssh-add ...
  • 在linux系統使用中,掌握熟練的vi編輯器,可以提高linux工作效率。那麼vi編輯器的使用方法有哪些呢? vi編輯器可在絕大部分linux發行版中使用。 Vi編輯器的作用:創建或修改文件;維護linux系統中的各種配置文件。 vi沒有菜單,只有命令 vi有三種基本工作模式,分別是:命令模式(co ...
  • 1.進入root su 2.編輯文件 vim /etc/inputrc [按下i鍵開始輸入] 3.加入新配置 set completion-ignore-case on 4.保存 [按下esc鍵,再輸入:wq確定保存] 5.重啟 reboot ...
  • 官網地址:https://redis.io/download 最新版本是4.0,在這裡本人下的是3.2 使用rz命令可以將Redis上傳到Linux系統 首先要確定Linux上是否安裝了gcc,沒有則使用yum install gcc-c++安裝 在安裝時出現下麵的錯誤提示 使用rm -f /var ...
  • 經常玩伺服器上的mysql資料庫,但是基於linux操作Mysql多有不便,於是就想著使用GUI工具來遠程操作mysql資料庫。已經不是三次使用navicat-for-mysql了,但是每次連接遠程伺服器的Mysql資料庫都會遇到問題,煩,索性這次就記下來,下次再使用navicat for mysq ...
  • SQL語句的DECODE()和NVL()函數用法 SELECT DECODE(choose_tool,0,'寶馬',1,'電動車',2,'自行車','步行') AS my_tool FROM data_tool_t //分析:當choose_tool為0時候,my_tool=‘寶馬’ 當choose ...
  • 1 -- 1、DECLARE EXIT HANDLER FOR SQLEXCEPTION 語句後面可以跟一個 begin end的複合語句塊,也可以直接跟一個簡單語句例如 :DECLARE EXIT HANDLER FOR SQLEXCEPTION v_succ=0; 3 -- 2、EXIT會在執行... ...
  • 一、Android studio的安裝 【提示】A、以下Android studio2.2.2版本。(也有新版本) B、以下是用Android studio自帶的sdk ①雙擊安裝文件進行安裝 ②如果沒有SDK,要勾選Android SDK。(如果有可以選擇不勾選) ③設置Android studi ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...