【Android】使用Android Studio打包APK文件

文章目录

  • 1. 新建项目
  • 2. 打包生成APK
  • 3. 安装APK

1. 新建项目

打包APK之前,首先需要新建项目,有基础的可以跳过。

无基础的可以参考:使用Android Studio运行Hello World项目

2. 打包生成APK

1.找到Build -> Generate Signed Bundle or APK -> 勾选APK

在这里插入图片描述

在这里插入图片描述

2.首次需要创建证书,后续可以使用已创建好的证书

在这里插入图片描述

3.填写证书信息

  • 选择密钥库存放路径,并填写密码
  • 填写密钥名称、密码和有效期
  • 填写证书信息(选填,不用全部填写)

为了方便,此处我的密码都填写为123456

在这里插入图片描述

4.填写刚刚的密钥库密码和密钥密码,并勾选记住密码

在这里插入图片描述

5.选择release版本,点击create创建APK文件

debug版本和release版本的区别:debug版本主要用于开发过程中的调试和测试,而release版本则用于最终用户的使用。

debug版本(调试版本):

  • 主要用于开发过程中的调试和测试。
  • 包含完整的调试信息,允许开发者在程序上设置断点、单步执行以及使用TRACE/ASSERT等调试输出语句。
  • 不进行代码优化,以便为开发者提供强大的调试能力。
  • 相对于Release版本,Debug版本通常更大,并且运行速度较慢。
  • 开发者在Debug模式下可以更容易地发现和修复程序中的错误和问题。

release版本(发布版本):

  • 主要用于最终用户的使用。
  • 不包含任何调试信息,以减小程序的大小并提高运行效率。
  • 进行了各种优化,包括代码最小化和速度优化,以提供最佳的用户体验。
  • Release版本不包含Debug版本中的调试功能,如设置断点或单步执行。
  • 相对于Debug版本,Release版本通常更小、更快,并且更稳定。

在这里插入图片描述

在这里插入图片描述

6.APK存放路径:

  • 切换左上角的 AndroidProject,此时可以发现app项目下多了个release文件夹,文件夹下有apk文件
  • 点击该apk文件,右键 Open In -> Explorer,就能打开到该apk所在的文件夹

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 安装APK

1.下载夜神模拟器:https://www.yeshen.com/

在这里插入图片描述

2.下载完成后得到文件 nox_setup_v7.0.3.5_full.exe,双击安装

在这里插入图片描述

在这里插入图片描述

3.夜神模拟器默认是平板机型,点击右上角设置图标,可以修改设置,调整机型和分辨率

在这里插入图片描述

在这里插入图片描述

4.将刚刚打包好的apk拖到夜神模拟器中:E:\workspace\MyApplication\app\release\app-release.apk

在这里插入图片描述
5.此时相当于将apk装到了手机里,点击该应用,打开即可

在这里插入图片描述

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

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

相关文章

【C/C++语法基础】2.输入与输出(✨新手推荐阅读)

前言 在C中,输入与输出是程序与用户进行交互的基本方式。C提供了多种方式进行数据的输入与输出,其中最常用的是printf、scanf、cin和cout。此外,我们还会讨论如何取消cin和cout的同步流,以及了解各种转义字符的用法。 1.printf函…

arkTS开发鸿蒙OS个人商城案例【2024最新 新年限定开发案例QAQ】

龙年前述 源码获取>文章下方二维码,回复关键字“鸿蒙OS商场源码” 前言 arkTS是华为自己研发的一套前端语言,是在js和ts技术的基础上又进行了升级而成! 本篇文章会带领大家通过arkTSnode.jsmongoDB来完成一个鸿蒙OS版本的商城案例&…

flask cors 跨域问题解决

座右铭:怎么简单怎么来,以实现功能为主。 欢迎大家关注公众号与我交流 环境安装 pip install -U flask-cors 示例代码 from flask import Flask from flask_cors import CORS, cross_originapp Flask(__name__) CORS(app, supports_credentialsTrue)…

__attribute__ ---Compile

Section for attribute attribute_?嵌入式C代码属性怎么定义 https://www.elecfans.com/d/2269222.html section 属性的主要作用是:在程序编译时,将一个函数或者变量放到指定的段,即指定的section 中。 一个可执行文件注意由代…

AI算法初识之分类汇总

一、背景 AI算法的分类方式多种多样,可以根据不同的学习机制、功能用途以及模型结构进行划分。以下是一些主要的分类方式及相应的代表性算法: 1. 按照学习类型 - **监督学习**: - 线性回归(Linear Regression) …

学会如何备份u盘数据,让数据安全有保障

随着科技的发展,U盘已成为我们日常生活和工作中不可或缺的数据存储设备。然而,无论U盘的质量如何,数据丢失的风险始终存在。可能是硬件故障、意外删除、病毒感染或其他不可预见的原因。 尽管当前提供了多种数据恢复方案,然而没有一…

【Midjourney】解密Midjourney付费订阅:畅享全新体验!(详细流程与各版本一览)

一、Midjourney 付费订阅流程 1、在首页点击Purchase plan 2、进入到midjourney年月选择页面 3、这里续费一个最便宜的版本 , 按年付费 8 , 按月 10 4、输入银行卡信息 , 用的WildCard虚拟信用卡 ,打开 5、填写完银行卡信息就订阅成功 二、Midjourney 各版本介绍…

山西电力市场日前价格预测【2024-02-12】

日前价格预测 预测说明: 如上图所示,预测明日(2024-02-12)山西电力市场全天平均日前电价为127.42元/MWh。其中,最高日前电价为369.24元/MWh,预计出现在18:45。最低日前电价为0.00元/MWh,预计出…

QT 菜单栏

添加/删除菜单栏 默认情况下QMainWindow项目一创建就自带了菜单栏,可以在对象树窗口中,右键菜单栏对象,移除菜单栏: 删除后也可以创建菜单栏,此时在对象树中右键MainWindow对象,菜单里边会多了创建菜单栏的…

[OPEN SQL] 新增数据

INSERT语句用于数据的新增操作 本次操作使用的数据库表为SCUSTOM&#xff0c;其字段内容如下所示 航班用户(SCUSTOM) 该数据库表中的部分值如下所示 1.插入单条数据 语法格式 INSERT <dbtab> FROM <wa>. INSERT INTO <dbtab> VALUES <wa>. INSERT &…

Hive的相关概念——分区表、分桶表

目录 一、Hive分区表 1.1 分区表的概念 1.2 分区表的创建 1.3 分区表数据加载及查询 1.3.1 静态分区 1.3.2 动态分区 1.4 分区表的本质及使用 1.5 分区表的注意事项 1.6 多重分区表 二、Hive分桶表 2.1 分桶表的概念 2.2 分桶表的创建 2.3 分桶表的数据加载 2.4 …

数据库第一次实验

目录 1 实验内容 2 SQL代码 3 效果截图 1 实验内容 熟悉SQL实验环境配置和进行实验数据准备&#xff0c;用SQL Server、PostgreSQL或MySQL创建数据库&#xff0c; 并按照下列关系模式定义数据表&#xff0c;加入适当约束&#xff1a; 学生&#xff08;学号、姓名、性别、…

free pascal:fpwebview 组件通过JSBridge调用本机TTS

从 https://github.com/PierceNg/fpwebview 下载 fpwebview-master.zip 简单易用。 先请看 \fpwebview-master\README.md cd \lazarus\projects\fpwebview-master\demo\js_bidir 学习 js_bidir.lpr &#xff0c;编写 js_bind_speak.lpr 如下&#xff0c;通过JSBridge调用本机…

在中国做 DePIN?你需要明白风险与机遇

撰文&#xff1a;肖飒团队 来源Techub News专栏作者 随着科技的发展&#xff0c;我们正在日益进入一个资源相对过剩的时代&#xff0c;这使我们在日常生活中虽然支付了该部分资源的使用费&#xff0c;但却时常不能将其「物尽其用」&#xff0c;难免出现资源浪费。例如&#x…

秒懂百科,C++如此简单丨第十九天:动态规划

目录 动态规划的初步理解 求最短路径数 洛谷 P1002 过河卒 题目描述 输入样例 输出样例 思路 AC Code 动态规划的初步理解 什么是动态规划&#xff1f;最直白的理解就是动态的规划。 那高级一点的理解呢&#xff1f;就是每时每刻都拿着一个小本本&#xff0c;也就是…

模型 人货场

系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。连接消费者与商品的桥梁。 1 ”人货场“模型的应用 1.1 以抖音直播电商为背景的人货场应用-小杨哥的带货奇迹 小杨哥&#xff0c;一位知名的抖音主播&#xff0c;以其幽默风趣的直播风格和独…

Vegeta压测工具学习与使用

Vegeta压测工具学习与使用 目标&#xff1a; 能够在命令行下使用Vegeta对指定API进行测试了解如何导出结果&#xff0c;以及能获得什么样的结果(P99,P99.9,QPS)探索能否导出其他结果&#xff0c;是否能够执行复杂命令或简易脚本等 时间比较紧迫&#xff0c;预计两到三个小时内完…

pytorch tensor维度变换

目录 1. view/reshape2. squeeze/unsqueeze3. expand 扩展4. repeat5 .t转置6. transpose7. permute 1. view/reshape view(*shape) → Tensor 作用&#xff1a;类似于reshape&#xff0c;将tensor转换为指定的shape&#xff0c;原始的data不改变。返回的tensor与原始的tensor…

Python爬虫之自动化测试Selenium#7

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx 前言 在前一章中&#xff0c;我们了解了 Ajax 的分析和抓取方式&#xff0c;这其实也是 JavaScript 动态渲染的页面的一种情形&#xff0c;通过直接分析 Ajax&#xff0c;我们仍然可以借助 requests 或 urllib 来实现数据爬取…

[缓存] - 2.分布式缓存重磅中间件 Redis

1. 高性能 尽量使用短key 不要存过大的数据 避免使用keys *&#xff1a;使用SCAN,来代替 在存到Redis之前压缩数据 设置 key 有效期 选择回收策略(maxmemory-policy) 减少不必要的连接 限制redis的内存大小&#xff08;防止swap&#xff0c;OOM&#xff09; slowLog …