IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 打包APK相关问题 -> 正文阅读

[移动开发]打包APK相关问题

Android Studio 打包APK流程

对APK命名的优化

① 自定义APK名字
修改app下的build.gradle

// 自定义打包名称
    android.applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = "Test_${buildType.name}_v${versionName}.apk"
            // 什么也不需要可以选择直接 "自定义name.apk"
            // buildType.name 代表构建类型(release/debug)
            // versionName 如下图中defaultConfig中的显示
        }
    }

添加位置如图,在android{}闭包中;
在这里插入图片描述
因此我们可以自由的进行自定义命名,甚至可以加上时间,如图,在android{}闭包外增加构建时间函数;

// 构建时间
def generateTime() {
    return new Date().format("yyyy_MM_dd_HH_mm_ss")
}

在这里插入图片描述
outputFileName加上时间显示

outputFileName = "Test_${buildType.name}_v${versionName}_${generateTime()}.apk"

打包APK

点击导航栏的Build→Generate Signed Bundle / APK…在这里插入图片描述
点击之后显示
在这里插入图片描述
点击Next之后,没有store key就创建一个新的;
在这里插入图片描述
填好信息,Certificate部分我只填了姓名;
在这里插入图片描述
点OK,如果报如下错误(本人未遇到),直接OK就行;
在这里插入图片描述
在这里插入图片描述
点Next;在这里插入图片描述
选择debug 或者 release;一般debug用于测试,release用于正式发布,二者皆可安装,点Finish;
在这里插入图片描述
之后目录内出现debug(或release,或者二者皆有)文件夹,内有APK文件。

给第三方APK进行系统签名

Android 中的签名

系统默认的四种签名类型

四组默认签名供Android.mk在编译APK使用:

1、testkey:普通APK,默认情况下使用。

2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。

3、shared:该APK需要和home/contacts进程共享数据。

4、media:该APK是media/download系统中的一环。

应用程序的Android.mk中有一个LOCAL_CERTIFICATE字段,由它指定用哪个key签名,未指定的默认用testkey.

系统默认的四种签名类型文件的位置

(android_src)/build/target/product/security
在这里插入图片描述

对 APK 进行签名

①使用自己的 Android 签名工具对 APK 进行签名(网上资料)

(1) Android的签名文件存放于系统源码的 build/target/product/security/目录下
(2) Android自带的签名工具为 signapk.jar, 可以在源码编译目录out中找到,具体路径为:out/host/linux-x86/framework/signapk.jar 以上APK具有系统权限,重新签名应该使用platform签名文件进行签名。
签名方法:将对应权限的签名文件platform.pk8、platform.x509.pem, 签名工具 signapk.jar, 以及需要签名的apk(假设 old.apk) 放到同一目录下,打开linux终端(windows cmd也可以),进入该目录,进行重新签名:

   java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk

重新生成的new.apk就可以安装在我们的Android设备上了。

②使用过程中问题

  1. Linux 中使用该命令主线程报错
    在这里插入图片描述
    但生成了新的APK文件。
    在这里插入图片描述
    原因目前未知,目前也没找到解决方案,如果有大神知道解决方案和原因,希望可以不吝赐教!
  2. platform.x509.pem platform.pk8 位置调换错误
    在这里插入图片描述
    所以要慎重注意位置问题!
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:45:19  更:2021-10-16 19:45:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:22:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码