为了开发老旧的安卓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)的全流程包含从潜在客户线索的发现、商机培育、销售转化、订单执行到最终收款的一系列复杂环节。传统制造业在这一流程中面临诸多挑战:客户需求的多样…