当前位置: 首页 > news >正文

2024-1.2.12-Android-Studio配置

本地博客: https://k1t0111.github.io/
K1T0
最近在做一些app方向的移动技术开发学习,但是由于AS的配置问题,市面上找不到最新的2024版本的AS的相关配置。笔者也是踩了很多坑,因此想写一篇文章记录一下最新的AS 2024 1.2.12的对应java环境的一个配置。
在这里插入图片描述

下载

https://developer.android.com/studio?hl=zh-cn
直接下载安装程序

下载步骤

不多做赘述,直接next
image.png

记得保存在d盘,直接安装就好。

JAVA的SDK 默认已经安装好。SDK环境默认已经安装完毕。

Android SDK

初次进入会提示,如何安装,最好选择custom 安装。不然东西全在c盘,太占空间。
进入之后勾选android sdk只安装这一个就够了。然后等待安装。

项目

开始进入项目
image.png

可以看到有很多的项目准备,我们使用phone ,然后进入No activity 进入构建项目。因为不明白为什么最新版的跟以前的不同,如果我们选择Empty activity的话,我们无法选择Java语言,默认是kotlin。

image.png
我选择android 9(因为老师说比较适合我<–…–>) 使用gradle构建项目,名字自己写。进入之后一般都会有一个很头疼的事情。gradle的下载。

gradle

我建议是手动下载,一般来讲他都会报错说无法下载,然后你使用他下载的连接,下载一个gradle压缩包。需要的版本就是刚好对应的。重点来了,由于我们希望所有东西都能够保存在d盘。
**调整gradle默认保存位置
image.png

然后重新启动android studio 可以看到原本gradle里面多了很多文件

D:\Download\.gradle\wrapper\dists\gradle-8.7-bin\bhs2wmbdwecv87pi65oeuq5iu

在这个文件夹下面把我们下载好的gradle 复制到目录底下。同时解压缩zip文件。注意其实这个文件夹下面本来是有两个文件的。把lck后缀的文件保留,另外一个文件删除。同时再复制一份lck文件把后缀名从lck保存为ok。做完这些事情之后,我们可以重新启动AS等到AS对gradle的加载。可能到现在还有点懵,稍微介绍一下Gradle。

Gradle

Android Gradle 是一个自动化构建工具,用于管理 Android 项目的构建过程。它基于 Gradle 构建系统,允许开发者定义和管理构建任务,例如编译代码、打包 APK、运行测试等。通过 build.gradle 文件,开发者可以配置项目的构建选项、依赖关系和插件。Gradle 的灵活性使得 Android 项目可以轻松适应不同的构建需求和配置。 针对第三方库进行管理。对应相关版本。

虚拟机

注意他的加载时间真的慢,加载完毕之后创建一个虚拟机,最新版的device找了半天
image.png

进入之后加号 + 创建一个虚拟机。
image.png
选择你要的型号然后next,选择一个系统image镜像。之后finish就好了。
到目前为止,我们的所有配置几乎已经做好了。可以运行一个项目看看,但是此时我们由于选择的是Empty activity 所以我们无法直接运行,我们需要自己的我们的ui文件和java代码文件以及我们的activity

运行

这个里给出一个hello world 的测试项目

image.png
分别把这三个文件放到对应的位置。

***AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.myapplication"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.MyApplication"><activity android:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

设置一个主活动。

***MainActivity.java

package com.example.myapplication;import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btnHelloWorld = findViewById(R.id.btnHelloWorld);btnHelloWorld.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 打印日志到 LogcatLog.d(TAG, "Hello World");}});}
}

***activity_main.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent">  <Button        android:id="@+id/btnHelloWorld"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="Click me"  android:layout_centerInParent="true"/>  
</RelativeLayout>

这是ui文件。注意layout文件夹需要自己创建,新版本默认不自带。注意开启虚拟机。
点击run 进行项目构建运行。不出意外你会看到clickme
image.png

相关文章:

2024-1.2.12-Android-Studio配置

本地博客: https://k1t0111.github.io/ K1T0 最近在做一些app方向的移动技术开发学习&#xff0c;但是由于AS的配置问题&#xff0c;市面上找不到最新的2024版本的AS的相关配置。笔者也是踩了很多坑&#xff0c;因此想写一篇文章记录一下最新的AS 2024 1.2.12的对应java环境的一…...

前端vue左侧树的一整套功能实现(一):vue2+vite封装v-resize指令,实现左侧树拖拽宽度和折叠展开

实现v-resize指令&#xff0c;具体以下功能&#xff1a; 指令接收宽度最大最小值&#xff0c;接收一个id用于localStorage存储拖拽宽度&#xff0c;接收padding拖拽时产生虚线拖拽&#xff0c;松开鼠标再进行元素宽度调整折叠展开图标使用本地图片 封装一个vite下使用本地图片…...

本地部署huggingface模型,建立自己的翻译应用

过去&#xff0c;我们使用翻译接口时&#xff0c;往往都是使用百度等的接口&#xff0c;每天有一定量的免费额度。今天为大家介绍一个可以进行翻译的模型&#xff0c;具备英译中、中译英的能力。并且在这个过程中&#xff0c;向大家介绍一个如何在本地部署模型。在之前的”五天…...

基于python+django+vue的在线学习资源推送系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于协同过滤pythondjangovue…...

.Net Gacutil工具(全局程序集缓存工具)使用教程

GAC介绍&#xff1a; GAC&#xff08;Global Assembly Cache&#xff09;全局程序集缓存&#xff0c;是用于存放.Net应用程序共享的程序集。 像平常我们在Visual Studio中引用系统程序集时&#xff0c;这些程序集便来自于GAC。 GAC默认位置为&#xff1a;%windir%\Microsoft…...

安卓13修改设置设备型号和设备名称分析与更改-android13设置设备型号和设备名称更改

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 用户要定制一些系统显示的设备型号和设备名称,这就需要我们分析设置里面的相关信息来找到对应的位置进行修改了。 2.问题分析 像这种信息要么是config.xml里面写死了,要…...

AI健身体能测试之基于paddlehub实现引体向上计数个数统计

【引体向上计数】 本项目使用PaddleHub中的骨骼检测模型human_pose_estimation_resnet50_mpii&#xff0c;进行人体运动分析&#xff0c;实现对引体向上的自动计数。 1. 项目介绍 人体运动分析是近几年许多领域研究的热点问题。在学科的交叉研究上&#xff0c;人体运动分析涉…...

Redis常见报错及解决方法总结

Redis常见报错及解决方法总结 Redis作为高效的内存数据库&#xff0c;在实际使用过程中不可避免会遇到一些问题和报错。为了帮助大家更好地应对这些问题&#xff0c;我将常见的Redis报错及其解决方法进行总结&#xff0c;并提供具体的操作步骤。 1. Connection Refused 错误…...

【TabBar嵌套Navigation案例-JSON的简单使用 Objective-C语言】

一、JSON的简单使用 1.我们先来看一下示例程序里边,产品推荐页面, 在我们这个产品推荐页面里面, 它是一个CollectionViewController,注册的是一个xib的一个类型,xib显示这个cell,叫做item,然后,这个邮箱大师啊,包括这个图标,以及这些东西,都是从哪儿来的呢,都是从…...

通过鼠标移动来调整两个盒子的宽度(响应式)

DOM结构&#xff1a; <div class"courer"> // 外层盒子<div class"dividing-line" title"拖动"></div> // 拖动的那个线<div class"course-title-box"> // 第一个盒子<div class"course-content-…...

React Zustand状态管理库的使用

Zustand 是一个轻量级的状态管理库&#xff0c;适用于 React 和浏览器环境中的状态管理需求。它由 Vercel 开发并维护&#xff0c;旨在提供一种简单的方式来管理和共享状态。Zustand 的设计理念是尽可能简化状态管理&#xff0c;使其更加直观和易于使用。 Zustand 官网点击跳转…...

pyrosetta MoveMap介绍

在 PyRosetta 中,MoveMap 是一个非常重要的类,用来控制蛋白质分子中哪些部分可以在某些操作(如折叠、旋转、优化等)中被移动。MoveMap 允许你精确地指定哪些残基、键角或原子可以进行特定的运动,从而帮助你在蛋白质结构预测、优化和设计中进行灵活的控制。 MoveMap 的功能…...

在线安全干货|如何更改IP地址?

更改IP地址是一个常见的需求&#xff0c;无论是为了保护个人隐私、绕过地理限制还是进行商业数据分析。不同的IP更改方法适用于不同的需求和环境。但请注意&#xff0c;更改IP地址应在合法场景下进行&#xff0c;无论使用什么方法&#xff0c;都需要在符合当地网络安全法律法规…...

【C++】【网络】【Linux系统编程】单例模式,加锁封装TCP/IP协议套接字

目录 引言 获取套接字 绑定套接字 表明允许监听 单例模式设计 完整代码示例 个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 引言 有关套接字编程的细节和更多的系统调用课参考《UNIX环境高级编程》一书&#xff0c;可以在如下网站搜索电子版&#xff0c;该书在第16章详…...

Matplotlib在运维开发中的应用

在现代运维开发中,数据可视化扮演着越来越重要的角色。它能帮助我们更直观地理解系统状态,快速发现潜在问题,并辅助决策制定。Python的Matplotlib库作为一个强大而灵活的绘图工具,在运维领域有着广泛的应用。本文将探讨Matplotlib在运维开发中的常见应用场景,并提供实用的代码示…...

centos下nvme over rdma 环境配置

nvme over rdma 环境配置 本文主要介绍NVMe over RDMA的安装和配置。关于什么是NVMe over Fabrics,什么是NVMe over RDMA&#xff0c;本文就不做介绍了&#xff0c;网上资料一大堆。 可以看看什么是NVMe over Fabrics&#xff1f; RDMA&#xff08;全称&#xff1a;Remote Dir…...

【C++】——多态详解

目录 1、什么是多态&#xff1f; 2、多态的定义及实现 2.1多态的构成条件 ​2.2多态语法细节处理 2.3协变 2.4析构函数的重写 2.5C11 override 和 final关键字 2.6重载—重写—隐藏的对比分析 3、纯虚函数和抽象类 4、多态的原理分析 4.1多态是如何实现的 4.2虚函数…...

STM32上实现FFT算法精准测量正弦波信号的幅值、频率和相位差(标准库)

在研究声音、电力或任何形式的波形时&#xff0c;我们常常需要穿过表面看本质。FFT&#xff08;快速傅里叶变换&#xff09;就是这样一种强大的工具&#xff0c;它能够揭示隐藏在复杂信号背后的频率成分。本文将带你走进FFT的世界&#xff0c;了解它是如何将时域信号转化为频域…...

计算机毕业设计 农场投入品运营管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

【笔记】2.1 半导体三极管(BJT,Bipolar Junction Transistor)

一、结构和符号 1. 三极管结构 常用的三极管的结构有硅平面管和锗合金管两种类型。各有PNP型和NPN型两种结构。 左图是NPN型硅平面三极管,右图是PNP型锗合金三极管。 从图中可见平面型三极管是先在一块大的金属板上注入杂质使之变成N型,然后再在中间注入杂质使之变成P型,…...

企业中文档团队的三种组织形式

大家好&#xff01;今天咱们来聊聊企业里文档团队都是怎么组织的。 企业中&#xff0c;常见的文档团队组织形式有三种。 首先&#xff0c;最常见的就是集中式的文档团队。就是说&#xff0c;公司里头有几个不同的部门&#xff0c;每个部门都需要做文档。于是呢&#xff0c;公…...

古诗词四首鉴赏

1、出自蓟北门行 唐李白 虏阵横北荒&#xff0c;胡星曜精芒。 羽书速惊电&#xff0c;烽火昼连光。 虎竹救边急&#xff0c;戎车森已行。 明主不安席&#xff0c;按剑心飞扬。 推毂出猛将&#xff0c;连旗登战场。 兵威冲绝漠&#xff0c;杀气凌穹苍。…...

全国行政区划下载(高德、阿里、天地图)

一、网站链接&#xff1a; 阿里云数据可视化平台&#xff1a; DataV.GeoAtlas地理小工具系列 (aliyun.com) 链接: link 高德地图API获取行政区域&#xff1a; 高德地图API获取行政区域 (naivemap.com) 链接: link 天地图服务中心&#xff1a; 天地图 服务中心 (tianditu.g…...

Springboot提升-MapStruct组件使用

文章目录 1. 添加依赖2. 创建映射接口3. 在Spring Boot中使用MapStruct映射器4. 配置MapStruct 在Spring Boot项目中使用MapStruct可以帮助你更方便地管理对象之间的映射逻辑。下面是一些基本步骤来设置和使用MapStruct&#xff1a; 1. 添加依赖 首先&#xff0c;你需要在项目…...

如何借助ChatGPT提升论文质量:实战指南

在学术写作的过程中,非英语母语人士经常面临诸多挑战,尤其是当论文要提交给国际期刊时,语言规范和表达逻辑成为了必须克服的障碍。本文将通过实例详细解析如何利用ChatGPT来润色论文,使其达到发表级别的标准。 一、优秀学术论文的写作特点 要让学术论文在国际期刊上发表,…...

NLP开端:Tokenizer-文本向量化

Tokenizer 问题背景 An was a algorithm engineer 如上所示&#xff0c;在自然语言处理任务中&#xff0c;通常输入处理的数据是原始文本。但是算法模型自能处理数值类型&#xff0c;因此需要找到一种方法&#xff0c;将原始的文本数据转换为数值类型的数据。这就是分词器所…...

STM32 MCU学习资源

STM32 MCU学习资源 文档下载需要注册登录账号 ST公司官方文档 STM32 MCU开发者资源 STM32F446 相关PDF文档 ST中文论坛 中文译文资料 ST MCU中文官网 其他学习资源 野火STM32库开发实战指南 零基础快速上手STM32开发&#xff08;手把手保姆级教程&#xff09; 直接使…...

Python知识点:Python内存管理与优化

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; Python内存管理与优化指南 Python是一种动态类型的解释型语言&#xff0c;它提…...

SpringBoot Kafka发送消息与接收消息实例

前言 Kafka的基本工作原理 我们将消息的发布&#xff08;publish&#xff09;称作 producer(生产者)&#xff0c;将消息的订阅&#xff08;subscribe&#xff09;表述为 consumer&#xff08;消费者&#xff09;&#xff0c;将中间的存储阵列称作 broker(代理)&#xff0c;这…...

【资料分析】刷题日记2

第一套 √ 2013-2016一共有13&#xff0c;14&#xff0c;15&#xff0c;16四年&#xff0c;亦即16 - 13 1 4年 √ 是多少倍 ③vs④&#xff1a;都是只给出了年均增速&#xff0c;③求的是其中一年的&#xff0c;无法确定&#xff1b;④求的是这个时段总共的&#xff0c;可…...