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

相关推荐
踢球的打工仔3 小时前
PHP面向对象(7)
android·开发语言·php
安卓理事人3 小时前
安卓socket
android
安卓理事人9 小时前
安卓LinkedBlockingQueue消息队列
android
万能的小裴同学10 小时前
Android M3U8视频播放器
android·音视频
q***577410 小时前
MySql的慢查询(慢日志)
android·mysql·adb
JavaNoober11 小时前
Android 前台服务 "Bad Notification" 崩溃机制分析文档
android
城东米粉儿12 小时前
关于ObjectAnimator
android
zhangphil12 小时前
Android渲染线程Render Thread的RenderNode与DisplayList,引用Bitmap及Open GL纹理上传GPU
android
火柴就是我13 小时前
从头写一个自己的app
android·前端·flutter
lichong95114 小时前
XLog debug 开启打印日志,release 关闭打印日志
android·java·前端