Android Studio工程導入及坑的解決

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

Androdi Studio 導入工程步驟

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

本地工程導入

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

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

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

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

遠端庫導入

遠端庫拉取工程的方法也不復雜,隻是在導入前我們要進行一下用戶配置。
首先通過FileSettings進入IDE設置頁找到Version Control裡的對應倉平臺,我由於沒有科學上網,所以選擇瞭Gitee平臺,如果’Settings’中沒有這個選項,從上面Plugins裡面下一個插件即可。

通過小加號增加自己在該平臺的用戶,然後就可以直接從該平臺拉取代碼瞭。
然後,通過FileNewProject from Version Control...單擊導入,如下圖。

將我們需要的需要的遠程倉地址填入URL中(如:[email protected]: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工程導入內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: