【Android】安裝2025版AndroidStudio開發工具開發老安卓舊版App

為了開發老舊的安卓App,這里記錄一下2025版AndroidStudio的安裝過程,如果卸載以后,可以按照此文章的步驟順利重新安裝繼續使用。

文章目錄

  • 安裝包
  • Android SDK
  • 新建項目
    • 新建頁面
    • 構建項目
      • Gradle
        • 下載失敗
        • 構建失敗
        • 構建完成
    • 編譯失敗
    • 安裝失敗
  • 關于APP

在安裝前,確定你的電腦配置是否達標:

  • Windows 10以上 64位
  • 運行內存 8G以上,運行開發工具通常會占用到4G左右
  • 帶有核顯的CPU,例如8代以上的處理i5,i7

若達標,可繼續按照筆者的步驟動手做實驗,

尋找Android Studio的官方安裝包

  • Android Stuido 下載列表

國外的訪問慢的話,只能另辟途徑,找鏡像源下載

安裝包

前往官方網站的下載列表,看到Android Studio的軟件包,

分安裝版和壓縮版(免安裝版),如下:

  • android-studio-2024.3.2.14-windows.exe 安裝版
  • android-studio-2024.3.2.14-windows.zip 壓縮版

筆者這里下載的是壓縮版文件,解壓后直接點擊里面的程序文件studio64.exe就能運行,免去了安裝過程,主要是擔心以后卸載不干凈,省心省事!

首次運行studio,會彈出配置窗,

注意筆者安裝的開發工具上默認顯示全英文,新手看不懂英文的話可以借助截圖翻譯工具來操作安裝,

需要按照以下步驟,配置一下環境,

Android Studio 開發工具更新界面變化很大,這里就不曬邊操作邊截的圖,理解操作步驟也能行

Android SDK

主要是設置正確的安卓開發構建工具SDK文件夾位置,

配置環境均默認設置即可,但其中一個步驟設置,需要指定Android SDK的文件夾位置,

Android SDK 的文件夾會在使用以后,開發過程會下載調用的對應安卓系統開發構建工具,包括安卓模擬器、不同系統開發版本較多的話,那么它的占用空間是會越來越大,一開始至少有1GB多

如果本地沒有保留,就指定新建的文件夾即可,讓它自動下載精簡的SDK,

若擔心你的電腦系統盤分區剩余空間不太夠用,可以指定SDK位置到其它盤分區

等安裝好了,可點開看看關于Android Studio版本,筆者這里的工具如下圖
圖片描述

新建項目

選擇新建項目New Project時,

選擇其中No Activity,只有這一項,開發的App項目才能支持在老舊的安卓系統版本上運行,

操作就會發現,新版開發工具支持java語言開發的頁面模版幾乎沒有了

到新建項目的信息填寫里,如下圖,
圖片描述

  • Language - 開發語言,選擇最早支持的Java;
  • Minimum SDK - 最低系統版本,選擇API 19, 也就是Android 4.4;
  • Build configuration language - 構建工具的語言, 開發工具最早使用的Groovy DSL(build.gradle);

筆者這里選擇是App項目能運行在最低的Android 4.4系統版本上,這對應API 19,

因為筆者現存還能用的閑置舊手機系統最低是在Android 4.4.4,

還有Android 2.1這個古董手機一直珍藏著,能正常開機使用,本來想為這手機開發App,可中途被小孩拿去玩弄丟了找不回來,只好放棄 (-。-)

若是其它老舊的手機系統版本,參考如下,

安卓系統版本API級別
4.116
4.419
5.021

針對已有的Android項目,想要遷移,修改項目的build.gradle設置時,需要參考以上API級別

更多API級別,可打開Settings里找到Android SDK的SDK Platforms一項查看,如下圖
圖片描述

新建項目時,開發工具會進行構建項目的處理,這個過程可能會長一點,

項目下沒有我們老程序員熟悉的Java代碼處理的第一個頁面MainActivity.java,需要自己新建,

新建頁面

在選擇Android的項目結構下,展開java分支,

選中包名(Package name),按鼠標右鍵選擇,新建第一個頁面,如下圖
圖片描述

新建空白的頁面按照步驟:New→Activity→Empty Views Activity

出現如下圖,
圖片描述
接下來又是等待進度條完成,第一次構建項目,運行都可能會出現以下錯誤,看看怎么解決它們

構建項目

在構建項目的框架時,不同的版本可能需要聯網下載文件,自帶的是連國外的網絡,國內普遍是較慢的又下載失敗,

Gradle

構建項目的工具是Gradle在工作,

下載失敗

因為國外的訪問慢,很慢很慢的,時間夠上班摸魚了,最后可能下載失敗,

解決方法最好是采用離線下載好安裝,

  • 騰訊云鏡像-Gradle

按照開發工具的構建輸出提示,選擇對應的gradle版本的壓縮文件,下載文件很快的,

等下載完成,應該放在哪個位置呢,

先打開以下文件夾位置:

C:\Users[你的用戶名].gradle\wrapper\dists

這文件夾是開發工具存放下載好的gradle:

如果是下載的gradle-8.11.1-bin.zip文件,

會看到以它的名稱創建的一個文件夾gradle-8.11.1-bin

打開這個文件夾,會發現一串字符的文件夾
bpt9gzteqjrbo1mjrsomdt32c,好像是編號吧,每個用戶的開發工具上不是一樣的,

繼續打開這個文件夾,把之前復制的gradle-8.11.1-bin.zip壓縮文件粘貼到這里就好,

然后點擊那個刷新圖標Sync Gradle Project,重新構建即可,

構建失敗

如果重新構建報錯如下:

Your build is currently configured to use incompatible Java 21.0.3 and Gradle 6.7.1. Cannot sync the project

解決方式1:

點擊更新Gradle, Upgrade to Gradle 8.12 and re-sync

解決方式2:

因為Gradle構建工具和新的java版本不兼容,需安裝降級 jdk 8

試過方式1可能不行,選方式2吧,

本來開發工具就有內置jdk,而是最新21的,如果開發老舊的安卓設備App,就需要比較舊的jdk 8,可前往下載

  • 華為云鏡像-JDK
  • 清華大學開源軟件鏡像-JDK

jdk安裝好后,因為是獨立的程序,還需要設置Windows系統環境變量,

設置參數如下:

export JAVA_HOME=/usr/java/jdk8u282-b08
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

設置好后,測試jdk是否成功安裝,

打開CMD,輸入如下命令:

java -version

打開開發工具 File→Settings→Build Tool,設置如下

在Gradle JDK 中 選擇 JAVA_HOME

然后,應用,保存設置,重新構建,

若重新構建又卡在以下:

下載 bcprov-jdk15on-1.56-sources.jar 有好幾分鐘…

等不及就打開項目的 build.gradle 文件,添加如下配置

jcenter(){url 'http://maven.aliyun.com/nexus/content/groups/public/'}

jcenter()后面添加,配置從阿里云鏡像下載

保存文件,然后重新構建,下載速度就變快了,

構建完成

等待構建完成,會打印如下信息:

BUILD SUCCESSFUL in 3m 31s

然后,就可以點擊運行按鈕,順利編譯安裝App運行

編譯失敗

若遇到編譯失敗,參考以下筆者的解決方法;

若出錯內容如下:

com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store “C:\Users[你的用戶名].android\debug.keystore”: Invalid keystore format

解決:

這個可能是你在之前編譯項目的用到Jdk版本生成的密鑰文件,
之后換了Jdk版本,再用這個文件就引起問題,

試試刪除這個文件"C:\Users[你的用戶名].android\debug.keystore",

然后重新運行開發工具,重新編譯試試

安裝失敗

若出錯內容如下:

Error running ‘app’
The application could not be installed. installation failed due to: 'Error code: “UNKNOWN, message='Unknown failure: '[cDs]close0]”
List of apks:

解決:
打開項目生成的apk文件位置

\app\build\intermediates\apk\debug

找到adb文件的位置,通常是指定Android SDK位置下的platform-tools文件夾,

然后在此位置打開CMD終端,試試輸入以下 adb 命令安裝,

adb install -t app-debug.apk

若輸出Success,表示成功安裝

關于APP

就記錄到這里吧,不知道給閑置的老舊安卓手機開發什么App好呢,

要不把它變成電子時鐘放在床邊,是個好主意,可看看以下這篇文章

  • 【Android】開發一個簡單時鐘應用每天看時間起床

圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/95945.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/95945.shtml
英文地址,請注明出處:http://en.pswp.cn/web/95945.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python跳過可迭代對象前部元素完全指南:從基礎到高并發系統實戰

引言:跳過前部元素的核心價值在數據處理和系統開發中,跳過可迭代對象的前部元素是常見且關鍵的操作。根據2024年數據處理報告:92%的數據清洗需要跳過文件頭部85%的日志分析需要忽略初始記錄78%的網絡協議處理需跳過頭部信息65%的機器學習訓練…

ConcurrentHashMap擴容機制

ConcurrentHashMap的擴容為了提高效率,是多線程并發的每個線程控制一部分范圍節點的擴容(根據cpu與數組長度確定控制多大范圍)有兩個核心參數sizeCtl:標記擴容狀態 負數時代表正在擴容,存儲量參與擴容的線程數,正數代表出發擴容的…

Spring Cloud Gateway 進行集群化部署

如果將 Gateway 單獨部署為一個服務而不做任何高可用處理,它確實會成為一個單點故障(SPOF, Single Point of Failure)。如果這個唯一的 Gateway 實例因為服務器宕機、應用崩潰、部署更新或其他任何原因而不可用,那么整個系統的所有…

計算機網絡:以太網中的數據傳輸

以太網中,數據的傳輸依賴于一系列標準化的技術規范,核心包括幀結構封裝、介質訪問控制機制和物理層編碼技術,具體如下: 1. 以“幀(Frame)”為基本傳輸單元 以太網在數據鏈路層將網絡層的數據包(…

元器件--USB TypC接口

USB TypC接口下圖這些都是USB接口A口與B口的區別USB A口和B口最初由USB-IF在1996年引入。根據當時的USB協議,A口主要用于主設備(如電腦),而B口則用于從設備(如打印機和攝像頭)。隨著USB-C接口的日益普及&am…

多線程之HardCodedTarget(type=OssFileClient, name=file, url=http://file)異常

多線程之HardCodedTarget(typeOssFileClient, namefile, urlhttp://file)異常 摘要: 文檔描述了多線程環境下調用Feign客戶端OssFileClient時出現的HardCodedTarget異常。異常發生在異步保存文件到ES時,Feign調用未返回預期結果而直接打印了客戶端對象。…

計算機視覺(十二):人工智能、機器學習與深度學習

人工智能 (AI):宏大的目標 人工智能是最廣泛、最宏大的概念,它的目標是讓機器能夠模仿人類的智能行為,例如: 推理:像下棋程序一樣,通過邏輯來做決策。規劃:為實現一個目標而制定步驟&#xff0c…

容器元素的滾動條回到頂部

關閉再打開后,容器元素的滾動條回到頂部解決方法:1、通過打開開發者工具(F12),找到滾動條所屬元素為 el-textarea__inner,其父類 class"el-textarea content"2、代碼,通過元素的方法 …

分布式專題——2 深入理解Redis線程模型

1 Redis 簡介 1.1 Redis 是什么? Redis 全稱 Remote Dictionary Server(遠程字典服務),是一個開源的高性能 Key-Value 數據庫; 官網:Redis - The Real-time Data Platform; 引用官網上的?個…

simd學習

如何查看cpu是否支持simd?# 檢查特定指令集 grep -o avx2 /proc/cpuinfo | head -1 # 檢查AVX2 grep -o sse4 /proc/cpuinfo | head -1 # 檢查SSE4 grep -o avx512 /proc/cpuinfo | head -1 # 檢查AVX512gcc編譯選項,增加支持simd-mavx2 -D__AVX2__SS…

LabVIEW汽車發動機振動測試

以某型號四缸汽油發動機為測試對象,借助 LabVIEW 平臺與高精度數據采集硬件,開展發動機全工況振動測試。通過實時采集缸體、曲軸箱關鍵部位振動信號,分析振動特征與故障關聯,驗證發動機運行穩定性,為后期優化設計提供數…

android 四大組件—Service

啟動服務startService//啟動服務,通過類名 Intent intent new Intent(this, WiFiAutoLinkService.class); startService(intent); //通過字符串啟動 Intent intent new Intent(); intent.setAction("com.launcher.app"); intent.setPackage("com.l…

https + 域名 + 客戶端證書訪問模式

項目使用金融云部署,對外暴露IP訪問,因安全合規要求必須使用域名訪問,但公司又不提供域名。故,改為 https 域名 客戶端證書雙向認證 訪問模式,大大提升安全性。 1. 密鑰文件類型 .key、.csr、.cer(或 .cr…

ICPC 2023 Nanjing R L 題 Elevator

[ProblemDiscription]\color{blue}{\texttt{[Problem Discription]}}[Problem Discription] 來源:洛谷。侵權則刪。 [Analysis]\color{blue}{\texttt{[Analysis]}}[Analysis] 貪心。優先運送樓層高的貨物,在能裝下的情況下盡量多裝。 因為運送貨物的代價…

81-dify案例分享-零代碼用 Dify 使用夢 AI 3.0 多模態模型,免費生成影視級視頻

1.前言 即夢AI作為字節跳動旗下的AI繪畫與視頻生成平臺,近年來不斷推出新的模型和功能,以提升用戶體驗和創作能力。 即夢AI 3.0是即夢AI的最新版本,于2025年4月發布,標志著其在中文生圖模型上的重大升級。該版本不僅在中文生圖能…

SQL 進階指南:視圖的創建與使用(視圖語法 / 作用 / 權限控制)

在 SQL 操作中,你是否遇到過 “頻繁查詢多表關聯的固定結果”“不想讓他人看到表中的敏感字段” 這類問題?比如 “每周都要查‘技術部員工的姓名、職位、薪資’”,每次都寫多表關聯語句很麻煩;又比如 “給實習生開放數據查詢權限&…

【全部更新完畢】2025數學建模國賽C題思路代碼文章高教社杯全國大學生數學建模-NIPT 的時點選擇與胎兒的異常判定

B題全部更新完畢 包含完整的文章全部問題的代碼、結果、圖表 完整內容請看文末最后的推廣群NIPT 的時點選擇與胎兒的異常判定 摘要 在問題一中,我們以無創產前檢測(NIPT)數據為研究對象,圍繞“胎兒 Y 染色體濃度”(記為 (V)) 隨孕…

Redis(43)Redis哨兵(Sentinel)是什么?

Redis Sentinel(哨兵)是一種用于管理 Redis 實例的高可用性解決方案。它提供了監控、通知和自動故障轉移等功能,確保 Redis 服務在發生故障時能夠自動恢復,提供高可用性和可靠性。以下是詳細介紹 Redis Sentinel 的功能及其代碼示…

蓓韻安禧DHA純植物藻油純凈安全零添加守護母嬰健康

在母嬰健康領域,選擇合適的營養補充品至關重要。純植物藻油DHA源自純凈藻類,有效規避了海洋重金屬污染的風險,確保安全無隱患。配方堅持零添加香精、色素和防腐劑,避免不必要的化學物質攝入,讓媽媽和寶寶更安心。同時&…

釘釘 AI 深度賦能制造業 LTC 全流程:以釘釘宜搭、Teambition 為例

制造業 LTC 流程痛點剖析?在制造業,線索到現金(LTC,Lead to Cash)的全流程包含從潛在客戶線索的發現、商機培育、銷售轉化、訂單執行到最終收款的一系列復雜環節。傳統制造業在這一流程中面臨諸多挑戰:客戶需求的多樣…