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工程配置中指定文件或目录的位置,使其更具可移植性和灵活性。根据你的具体需求,可以在相应的配置文件或资源中使用相对路径来引用文件或目录。

相关推荐
2501_944424127 小时前
Flutter for OpenHarmony游戏集合App实战之贪吃蛇食物生成
android·开发语言·flutter·游戏·harmonyos
2501_9371454110 小时前
神马影视8.8版2026最新版:核心技术升级与多场景适配解析
android·源码·电视盒子·源代码管理
2501_9444241211 小时前
Flutter for OpenHarmony游戏集合App实战之俄罗斯方块七种形状
android·开发语言·flutter·游戏·harmonyos
不会Android的潘潘13 小时前
受限系统环境下的 WebView 能力演进:车载平台 Web 渲染异常的根因分析与优化实践
android·java·前端·aosp
建军啊13 小时前
java web常见lou洞
android·java·前端
豆奶dudu13 小时前
安卓应用签名生成+微信开放平台安卓应用签名
android·微信开放平台
AC赳赳老秦14 小时前
Dify工作流+DeepSeek:运维自动化闭环(数据采集→报告生成)
android·大数据·运维·数据库·人工智能·golang·deepseek
2501_9444241214 小时前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌配对消除
android·java·开发语言·javascript·windows·flutter·游戏
2501_9445264215 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 设置功能实现
android·javascript·flutter·游戏·harmonyos
冬奇Lab15 小时前
【Kotlin系列11】协程原理与实战(下):Flow与Channel驯服异步数据流
android·开发语言·kotlin