Android 签名、打包、上架

最近在做一些简单的Android需求开发,其他打包的过程碰到的一些问题做一个梳理。 【Android需要通过AS-> Open,打开工程,不然容易出问题】

1.签名

a.keystore.jks文件

接受的项目都是已经比较成熟的项目,在项目的目录下都有一个.jks的文件,里面会包含一些秘钥信息 在工程中的Android目录下build.gradle(Module:xxxx.app)里面会有秘钥的详细

b.开始签名

如果工程中已经有.jks文件,选择Choose existing...选项,选中Project目录中的.jks文件即可.

然后继续

至此,打包完成了,根目录下的app文件夹里面找到debugrelease里面就是刚刚打包成功的.apk文件。 如果需要创建新的秘钥

拓展:怎么生成.jks文件夹、怎么生成签名秘钥

2.生成.jks文件

a.创建并在Project工程目录下生成.jks文件,与app目录同级

选择Creat new进入创建界面

重要!!! 需要选择项目下的app目录下,然后修改Untitled名称改为keystore.jks,保存即可,保存之后会返回一下界面,填写相关信息即可成功创建相关秘钥,并保存在刚才创建的.jks文件中,保存即可。

b.配置打包Signing Configs

按照图示的步骤来,即可完成配置。 然后在app 目录的build.gradle文件中可看到如下生成的代码配置。

注意:出现如下图示,不影响apk打包,但是有警告,相对路径去怎么解决这个问题,有知道的,可以告知一下。

3.处理apk包名显示

正常情况下如果是内部软件,不需要加固,如果是外部软件加固一下【腾讯乐固】,对于生成的包名称可以配置显示【名称+版本+版本号+时间】,配置如下:截图框出的方法需要写在andriod方法里面

kotlin 复制代码
// 自定义打包名称
    android.applicationVariants.all { variant ->
        variant.outputs.all {
            outputFileName = "xxxAPK_${buildType.name}_v${versionName}_${generateTime()}.apk"  
        }
    }

构建时间的方法需要在android方法外

javascript 复制代码
//构建时间
def generateTime() {
    return new Date().format("yyyyMMddHHmmss")
}

4.加固包重签名处理

AS打包生成的apk包是签名包,上传到 【腾讯乐固】加固后,这时候的加固包是不能直接安装或者上传应用市场,需要在签名一次才可以。以下就是加固包签名的命令行命令

css 复制代码
 jarsigner -verbose -keystore xx[jsk文件绝对路径]xx.jks -signedjar xxx[加固前的apk包绝对路径]xxxAPK_release_v1.0.6_20231026092106.apk   xx[加固后的apk包绝对路径]xx.apk  xx[秘钥的名称keyAlias]xx

中间都是空格隔开就可以,主要理解是加固前和加固后的包的位置。然后秘钥keyAlias的名称需要app目录下的build.gradle文件里面找。

至此,可以上传重签名后的apk包到应用市场了 参考

5.相对路径

在Android工程配置中,可以使用相对路径来表达文件或目录的位置。相对路径是相对于当前文件或目录的路径,而不是完整的绝对路径。

以下是在Android工程配置中使用相对路径的一些示例:

  1. 在Gradle脚本中引用相对路径:
groovy 复制代码
def relativePath = '../subdirectory/myfile.txt'
  1. 在AndroidManifest.xml文件中引用相对路径:
xml 复制代码
<meta-data
    android:name="my_data"
    android:value="../subdirectory/myfile.txt" />
  1. 在资源文件(如布局文件或字符串资源文件)中引用相对路径:
xml 复制代码
<ImageView
    android:src="@drawable/../subdirectory/myimage.png" />

在上述示例中,相对路径使用../来表示从当前位置向上一级目录的相对路径。你可以根据实际情况调整相对路径的格式和层数。

使用相对路径的好处是,它提供了一种相对于当前位置的灵活方式来引用文件或目录。这样,当你的工程目录结构发生变化时,不需要修改绝对路径,只需调整相对路径即可。

请注意,相对路径的解析取决于当前位置,因此确保当前位置的准确性和相对路径的正确性。

总而言之,使用相对路径可以在Android工程配置中指定文件或目录的位置,使其更具可移植性和灵活性。根据你的具体需求,可以在相应的配置文件或资源中使用相对路径来引用文件或目录。

相关推荐
温辉_xh9 分钟前
uiautomator案例
android
工业甲酰苯胺1 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
少说多做3432 小时前
Android 不同情况下使用 runOnUiThread
android·java
Estar.Lee3 小时前
时间操作[计算时间差]免费API接口教程
android·网络·后端·网络协议·tcp/ip
找藉口是失败者的习惯4 小时前
从传统到未来:Android XML布局 与 Jetpack Compose的全面对比
android·xml
Jinkey5 小时前
FlutterBasic - GetBuilder、Obx、GetX<Controller>、GetxController 有啥区别
android·flutter·ios
大白要努力!6 小时前
Android opencv使用Core.hconcat 进行图像拼接
android·opencv
天空中的野鸟7 小时前
Android音频采集
android·音视频
小白也想学C8 小时前
Android 功耗分析(底层篇)
android·功耗
曙曙学编程9 小时前
初级数据结构——树
android·java·数据结构