Android基础入门:APP打包发布

简介: APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。应用程序升级:拥有同一个签名文件的应用,在用户升级到新的版本,可以实现无缝覆盖升级。不需要用户先卸载掉老版本,再装新版本。


1.App发布到应用市场

将应用程序打包为apk文件-》进行签名-》apk申请著作权(花点钱,写文档/找中介)-》应用市场检查程序是否合法-》成功发布

2.第三方市场

在这个网站可以下载各种手机app软件

百度手机助手_有颜又有货的应用商店 (baidu.com)

3.签名文件 的作用

  1. APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。
  2. 应用程序升级:拥有同一个签名文件的应用,在用户升级到新的版本,可以实现无缝覆盖升级。不需要用户先卸载掉老版本,再装新版本。

为什么要签名:如手机qq发布新的版本,覆盖安装,通过签名来作为app唯一的标识(类似人的身份证)

4.打包步骤

4.1bulid apk

通过build生成一个apk文件

网络异常,图片无法展示
|

选择APK方式发布,默认是Android App Bundle方式发布,这一般是发布到国外市场。

Android App Bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。

更多信息:Android App Bundle 简介

网络异常,图片无法展示
|

4.2创建密钥和密钥库

然后就是创建一个新的密钥和密钥库,自己创建一个特殊文件

我之前创建过密钥库,所以进来就是这张界面

网络异常,图片无法展示
|

如果是第一次打包没有创建过密钥和密钥库,则需要点击create new...

网络异常,图片无法展示
|

网络异常,图片无法展示
|

  • Key store path:创建密钥库的位置
    Password:为密钥库创建一个安全的密码
  • 密钥: Alias:为密钥输入一个标识名
    Password:为密钥创建一个并确认安全的密码(此密码应当与密钥库的密码不同)
  • Validity (years):以年为单位设置密钥的有效时长。密钥的有效期应至少为 25年
  • Certificate:为证书输入一些关于您自己的信息。此信息不会显示在应用中,但会作为 APK 的一部分包含在您的证书中

4.3正式导出

选择release方式导出,这一般是正式上线的版本,debug是内部测试版本,记住Destination Folder的位置,这是等会apk打包存放的位置

网络异常,图片无法展示
|

5.apk解压

查看刚刚的Destination Folder路径下可以找到刚刚打包下来的apk文件,这就已经可以直接发到手机上安装了

网络异常,图片无法展示
|

我们可以将apk文件解压,得到一个包含如下文件的文件夹

网络异常,图片无法展示
|

AndroidManifest.xml文件:其中的AndroidManifest.xml文件不完全与Android  Studio中的项目中的AndroidManifest.xml文件相同,这里的文件说经过加密处理的,反正我是没法用Edge直接打开它

res文件:项目中的资源文件;所以我们要找某一些app的图片素材可以通过这种方式获取,就不用截图了

classes.dex文件:是Android系统的可执行文件,包含应用程序的全部操作指令以及运行时数据。当java程序编译成class后,还需要使用dx工具将所有的class文件整合到一个dex文件,目的是其中各个类能够共享数据,在一定程度上降低了冗余,同时也是文件结构更加经凑

但是.dex文件不安全,容易被破解,被不法分子利用的话,就会直接看到我们app的java源码。所以我们需要对App加固

App加固

第三方平台

https://console.cloud.tencent.com/ms

注册一个腾讯云账号就可以在线帮我们实现app加固

网络异常,图片无法展示
|

上传成功后,它会自动帮我们做一系列的应用加固

网络异常,图片无法展示
|

加固完成

网络异常,图片无法展示
|


相关文章
|
1月前
|
JavaScript Android开发
【问题篇】打包Vue-cli3创建的vue项目成App的apk文件
【问题篇】打包Vue-cli3创建的vue项目成App的apk文件
25 0
|
1月前
|
开发者 iOS开发
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
UniApp打包教程:使用HBuilder X和AppUploader完成原生App云打包和上架指南“
49 3
|
4天前
|
测试技术 Android开发
Android App获取不到pkgInfo信息问题原因
Android App获取不到pkgInfo信息问题原因
14 0
|
1月前
|
iOS开发 开发者
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
【教程】uni-app iOS 打包解决 profile 文件与私钥证书不匹配问题
|
1月前
|
设计模式 测试技术 数据库
基于Android的食堂点餐APP的设计与实现(论文+源码)_kaic
基于Android的食堂点餐APP的设计与实现(论文+源码)_kaic
|
1月前
|
测试技术 API 调度
【Android 从入门到出门】第七章:开始使用WorkManager
【Android 从入门到出门】第七章:开始使用WorkManager
20 3
【Android 从入门到出门】第七章:开始使用WorkManager
|
1月前
|
存储 Android开发 C++
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
【Android 从入门到出门】第五章:使用DataStore存储数据和测试
36 3
|
1月前
|
Android开发
【Android 从入门到出门】第四章:现代Android开发中的导航
【Android 从入门到出门】第四章:现代Android开发中的导航
22 2
【Android 从入门到出门】第四章:现代Android开发中的导航
|
1月前
|
XML API Android开发
【Android 从入门到出门】第三章:使用Hilt处理Jetpack Compose UI状态
【Android 从入门到出门】第三章:使用Hilt处理Jetpack Compose UI状态
26 4
|
1月前
|
存储 XML 编译器
【Android 从入门到出门】第二章:使用声明式UI创建屏幕并探索组合原则
【Android 从入门到出门】第二章:使用声明式UI创建屏幕并探索组合原则
48 3