【Android Studio】创建第一个APP工程及生成APK安装包


🌟博主领域:嵌入式领域&人工智能&软件开发

前言:本文详细介绍创建Android Studio第一个APP工程及打包生成APK安装包。

如下两个博客我记录了第一次创建项目时出现的问题,若你也遇见了同样的问题,可参考:

【Android】Multiple Gradle daemons might be spawned because the Gradle JDK and JAVA_HOME locations解决方案-CSDN博客



【Android Studio】Gradle sync failed in xx s xxx ms;Connect timed out;Could not install Gradle dis解决方案-CSDN博客

目录

1.创建第一个APP工程

2.打包生成APK安装包


1.创建第一个APP工程

1.点击New Project,选择一个APP界面,点击Next

 2.输入工程名称(我的是hellov6),选择存放路径(E:\AndroidStudioProjects\hellov6),选择SDK版本(我选择的是API24.Android7.0版本),选择构造语音(我使用的是新的构建语言.kts),然后点击Finish

 3.点击Android图标,点击Project,展开显示出项目工程结构

 4.点击Sync。若Sync失败,可参考我的博文进行修复:【Android Studio】Gradle sync failed in xx s xxx ms;Connect timed out;Could not install Gradle dis解决方案-CSDN博客

5.点击Create Device创建虚拟手机(2022版本已自动创建有一个虚拟手机,无需求可不创建)

6.下载第7步选择的API版本,下载完成后点击Finish,Next

7.下面页面可不修改,点击Finish,创建自己的虚拟手机成功。就有了两个模拟器。

8.运行虚拟手机。点击如下按钮开始运行

9.等待虚拟手机启动。

  

 10.点击Close app。毕竟是虚拟手机,运行出现此情况关闭就行。

11.选择当前启动的虚拟手机,点击运行,将当前的APP装入虚拟手机

12.启动成功,显示出hello word。背后实际的工作流程是Android Studio会将程序代码打包成一个APK 文件,然后将这个文件传输到手机上执行安装操作。Android系统会将所有的APK文件识别为应用程序的安装包,类似于Windows系统上的EXE文件

13.项目结构简单介绍。

这个就是主函数区

点击res>Layout(布局区),点击activity _main.xml会显示出页面的布局,点击右上角的Design是ui界面,点击Code是代码界面。在Design界面点击文字可进行更改

2.打包生成APK安装包

使用Android Studio来生成正式签名的APK文件。生成APK安装包,使得APP来安装到手机运行。还有一种方法是用数据线将电脑和手机连接,然后手机打来USB调试,然后点击项目运行,然后在手机上会有一个提示(将APP安装到手机),点击确定就可以安装了。

1.点击Android Studio导航栏Build->Generate Signed Bundle / APK

2.选择生成APK,点击Next

3.如果没有key,就创建一个,有的话就选择存在的Key,如果你是第一次打包,都是没有的。

 4.新建一个密钥,填写关于自己的信息,如下图。

 

 建立密钥存放的路径

 5.点击OK,返回刚才的页面,如下

 

6.点击Next,有两种,选择release即可。 

 7.找到你项目位置,找到release文件夹,把APK文件发给别人,别人安装即可使用。

关于 自定义生成的apk名字会在后续博文发布。

🌟个人主页:阿齐Archie

 🌟个人vx公众呺:阿齐Archie

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/301988.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux基础】Linux权限

目录 前言1.shell命令以及运行原理2.Linux权限的概念2.1什么是权限2.2权限的本质 3.Linux权限管理3.1文件访问者的分类(人)3.2文件类型和访问权限(事物属性)3.3文件权限值的表示方法3.4文件访问权限的相关设置方法a)chmodb)chownc…

GPDB - 高可用 - 流复制状态

GPDB - 高可用 - 流复制状态 GPDB的高可用基于流复制,通过FTS进行自动故障切换。自动故障切换需要根据primary-mirror流复制的各种状态进行判断。本节就聊聊primary-mirror流复制的各种状态。同样适用于PgSQL 1、WalSndState typedef enum WalSndState {WALSNDSTATE…

值得一试的国产效率神器

当谈到国产小众工作效率软件时,以下是我为您推荐的四款应用。它们可能不太被大众所熟知,但它们各自都有独特的功能和特点,可以帮助您提高工作效率。 首先是“有道云笔记”。作为一款国内知名的笔记应用,有道云笔记提供了强大的笔…

俄罗斯“沙虫”侵入乌克兰电信巨头Kyivstar内网长达数月

去年12月,乌克兰最大的电信运营商Kyivstar遭到了一次严重的网络攻击,约2400万用户受到了网络中断的影响。据乌克兰安全情报局网络负责人透露,此次攻击由俄罗斯黑客组织"沙虫"(Sandworm)所为。 该黑客组织成…

[DM8] 达梦8配置兼容Oracle

查看版本信息 select *,id_code from v$version; 查询解释: DM Database Server 64 V8 1-1-190-21.03.12-136419-ENT 64 版本位数标识,64表示为64位版本,无64则表示为32位版本 V8 大版本号,目前主要是V7、V8 1-1-190…

不用写一行代码!Python最强自动化神器!-palywright

不用写一行代码!Python最强自动化神器! 1、Playwright介绍 Playwright是一个由Microsoft开发的开源自动化测试工具,它可以用于测试Web应用程序。Playwright支持多种浏览器,包括Chrome、Firefox和WebKit,同时也支持多种编程语言,如JavaScript、TypeScript、Python和C#。 2…

【已解决】Pytorch RuntimeError: expected scalar type Double but found Float

本文作者: slience_me 文章目录 项目场景:问题描述原因分析:解决方案: 项目场景: 在训练模型时候,将数据集输入到网络中去,在执行卷积nn.conv1d()的时候,报出此错误 问题描述 报错…

Taro+vue3 电影H5 选择座位的时候 判断当前的座位是否 旁边留空 或者中间座位留空

const onConfirm () > {const area_arr selectedSeat.value.map((item) > {return item.areaId;});const abc isRepeat(area_arr);if (!abc) {Taro.showToast({title: "请选择同一价格的座位,暂不支持跨区域选座~~",icon: "none",dura…

二叉树-遍历-单独精讲

遍历:遍历每个元素。 寻常遍历root只会指一次。 而二叉树遍历每个元素则会指三次。 中序遍历-节点的中序 void traveres(TreeNode* root){if(!root)return;traveres(root->left);cout << root->val << endl;traveres(root->right);}中序遍历亦叫节点的中…

安防视频云平台/可视化监控云平台ARM版EasyCVR无法下载录像文件,如何解决?

视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。GB28181视频监控/AI智能大数据视频分析EasyCVR平台已经广泛应用在工地…

Python办公自动化 – 对数据进行正则表达式匹配

Python办公自动化 – 对数据进行正则表达式匹配 以下是往期的文章目录&#xff0c;需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – …

我是内网灵活的狗之渗透之红日靶场 stack之用户域渗透

接上回 我们现在准备对域内的用户靶机进行一下扫描 因为对所有的端口进行扫描的话 会导致扫描时间过长 我们这里只对部分重要端口进行扫描 看见445端接口开着&#xff0c;所以我们尝试连接445 的漏洞 用永恒之蓝漏洞连接后&#xff0c;尝试用这个漏洞&#xff0c;添加新的用…

3D人体姿态估计

3D人体姿态估计是指通过算法对输入的图像或视频进行分析&#xff0c;推断出人体的三维姿态信息。该技术可以应用于许多领域&#xff0c;如虚拟现实、运动分析、人机交互等。 1. 算法原理&#xff1a; 3D人体姿态估计利用深度学习模型作为算法的核心&#xff0c;通过网络学习人…

kubernetes(一)概述与架构

云原生实战 语雀 官网 Kubernetes 文档 | Kubernetes 更新&#xff1a;移除 Dockershim 的常见问题 | Kubernetes B站课程&#xff1a;https://www.bilibili.com/video/BV13Q4y1C7hS/?p26 1.概述 概述 | Kubernetes 大规模容器编排系统 kubernetes具有以下特性&#xf…

大模型笔记【2】 LLM in Flash

Apple最近发表了一篇文章&#xff0c;可以在iphone, MAC 上运行大模型&#xff1a;【LLM in a flash: Efficient Large Language Model Inference with Limited Memory】。 主要解决的问题是在DRAM中无法存放完整的模型和计算&#xff0c;但是Flash Memory可以存放完整的模型。…

Spark Core------算子介绍

RDD基本介绍 什么是RDD RDD:英文全称Resilient Distributed Dataset&#xff0c;叫做弹性分布式数据集&#xff0c;是Spark中最基本的数据抽象&#xff0c;代表一个不可变、可分区、里面的元素可并行计算的集合。 Resilient弹性&#xff1a;RDD的数据可以存储在内存或者磁盘…

vue简体繁体互转无需做字库

第一种方法 vue-i18n 需要自己写字库库很麻烦,而且不支持后端传值 第二种 opencc 这个库前端去使用的时候 数据较多的情况非常慢.影响使用 第三种 language-hk-loader npm i language-hk-loader 从其他博客中看到的一种,很方便不需要写字库,但是在打包的时候去整体的去翻译…

Samtec技术Demo | 优秀的PCIe 6.0性能:Rohde Schwarz公司VNA验证Samtec高速电缆

【摘要/前言】 Design-Con 2023的现场产品演示展现了Samtec Flyover高速电缆组件和Rohde & SchwarzZNA矢量网络分析仪的杰出PCIe 6.0性能。 在本期的视频中&#xff0c;Rohde & Schwarz公司的VNA产品规划经理Greg Vaught和Samtec公司的技术营销经理Matt Burns带领我们…

PyTorch|构建自己的卷积神经网络--池化操作

在卷积神经网络中&#xff0c;一般在卷积层后&#xff0c;我们往往进行池化操作。实现池化操作很简单&#xff0c;pytorch中早已有相应的实现。 nn.MaxPool2d(kernel_size ,stride ) 这种池化叫做最大池化。 最大池化原理很简单&#xff0c;就是一个filter以一定的stride在原…

led手电筒照明线性恒流驱动芯片推荐:SM2123EGL双通道可调光

LED手电筒照明线性恒流驱动芯片是一种专门用于LED手电筒的照明系统的关键组件。它采用了线性恒流驱动技术&#xff0c;可以确保LED手电筒在不同电池电压和温度变化下&#xff0c;保持恒定的亮度输出&#xff0c;提高了LED手电筒的稳定性和可靠性。 LED手电筒照明线性恒流驱动芯…