首頁 > 軟體

Android Studio工程匯入及坑的解決

2022-05-25 18:01:06

由於工作原因,需要將工程傳遞給一些新人小朋友,互動過程中,發現有幾個典型的問題值得記錄分享一下,以資來者。

Androdi Studio 匯入工程步驟

AS匯入工程常用的有兩種途徑一種是通過本地工程匯入,還有一種是從遠端的版本管理倉拉取工程。

本地工程匯入

本地工程匯入比較簡單,點選選單File,然後找到Open...點選,便可以得到下圖。

在目錄欄目輸入你本地工程所在地址,便可以看到你的本地工程名,而且還是一個Android機器人的圖示,選中後點選OK即可完成本地工程匯入。

需要說明的是,這種匯入方式的前提是本地工程也是有Android Studio IDE 開發的,如果不是的話,需要使用File-New-Import project...進行匯入。

新版的AS會幫你自動替換一些本地SDK的路徑什麼的,基本上一路點Yes就可以了。

遠端庫匯入

遠端庫拉取工程的方法也不復雜,只是在匯入前我們要進行一下使用者設定。
首先通過File-Settings進入IDE設定頁找到Version Control裡的對應倉平臺,我由於沒有科學上網,所以選擇了Gitee平臺,如果’Settings’中沒有這個選項,從上面Plugins裡面下一個外掛即可。

通過小加號增加自己在該平臺的使用者,然後就可以直接從該平臺拉取程式碼了。
然後,通過File-New-Project from Version Control...單擊匯入,如下圖。

將我們需要的需要的遠端倉地址填入URL中(如:git@gitee.com:kiba03/DeveloperLab.git),再點選Clone按鈕即可完成匯入。

檢查點&修改方案

local.properties

匯入了新的工程到AS中後,新版的IDE會自動幫你替換相關的SDK地址等。保險起見,還是檢查一下為好。

local.properites是工程的本地組態檔,一般會存有SDK的地址,其他的本地設定建議另建一個目錄比較好。所以,外部匯入的新工程可能這個地方還會是之前的裝置的SDK地址,這塊首先要改成自己的,如果不知道的話,本地新建一個工程,同樣目錄下找到local.properties複製過來即可。

## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Mon Aug 30 23:04:19 CST 2021
sdk.dir=C:\Users\kiba\AppData\Local\Android\Sdk

Gradle版本

gradle是一個類似maven的打包框架,對於Android初學者而言比較頭疼,經常是被gradle版本對不上而導致工程匯入失敗。作為菜鳥,一口氣解決gradle報出的所有疑難雜症,顯然是不現實的,但起碼要學會檢視專案的gradle版本。
右鍵單擊專案根目錄,選單中選擇Open Module Settings

在Project欄目先我們可以看到,當前工程的gradle外掛版本為4.1.1,gradle版本為6.5。
新匯入的工程無法編譯九成就是工程gradle版本不支援導致的。如果科學上網的話,可以通過ide自動幫你從官網下載,如果沒有,則極有可能下載超時。這個時候就是通過這個版本號到百度查詢對應的下載包,然後修改gradle-wrapper.properties中的distributionUrl欄位為本地目錄

distributionUrl=https://services.gradle.org/distributions/gradle-6.5-bin.zip

Android版本

當匯入成功了工程,並能啟動編譯並且安裝到測試機了。你的匯入工作基本上完成了90%,下面跑一下基本功能吧。有時候最後一步也無法順利完成,APP在啟動中crash了。。。

這個時候用logcat檢視崩潰紀錄檔是最直接的方法。除了這個外,還可以考慮檢視一下當前測試機Android版本和工程的Android版本是否匹配,有些時候Android版本的不匹配會導致介面呼叫失敗,從而導致APP crash。

開啟AndroidManifest.xml檔案,可以看到類似下列程式碼。

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.example.developerlab"
        minSdkVersion 28
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

其中‘compileSdkVersion’表示編譯Android SDK版本,minSdkVersion表示APP執行要求的手機最低安卓版本,targetSdkVersion表示目標手機Android版本。一般情況下,要想APP能夠流暢的在手機上執行,手機Android版本一定要大於等於Android版本。

Android 10的版本號為29,Android 11為30,其他的版本號可以查閱Google官網

如果發現當前測裝置Android版本低於工程需要,別糾結了立刻換測試機,因為即使你通過修改程式碼解決了一個api相容問題,後面還可能有無數個api相容問題等著你呢。儘可能避免這種勸退事件的發生。

到此這篇關於Android Studio工程匯入及坑的解決的文章就介紹到這了,更多相關Android Studio工程匯入內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com