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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...