Android 签名、打包、上架
最近在做一些简单的Android
需求开发,其他打包的过程碰到的一些问题做一个梳理。【Android需要通过AS-> Open,打开工程,不然容易出问题】
1.签名
a.keystore.jks
文件
接受的项目都是已经比较成熟的项目,在项目的目录下都有一个.jks
的文件,里面会包含一些秘钥信息
在工程中的Android
目录下build.gradle(Module:xxxx.app)
里面会有秘钥的详细
b.开始签名
如果工程中已经有
.jks
文件,选择Choose existing...
选项,选中Project目录
中的.jks
文件即可.
然后继续
至此,打包完成了,根目录下的
app
文件夹里面找到debug
、release
里面就是刚刚打包成功的.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方法里面
// 自定义打包名称
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "xxxAPK_${buildType.name}_v${versionName}_${generateTime()}.apk"
}
}
构建时间的方法需要在android方法外
//构建时间
def generateTime() {
return new Date().format("yyyyMMddHHmmss")
}
4.加固包重签名处理
AS
打包生成的apk
包是签名包,上传到 【腾讯乐固】加固后,这时候的加固包是不能直接安装
或者上传应用市场
,需要在签名一次才可以。以下就是加固包签名的命令行命令
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工程配置中使用相对路径的一些示例:
- 在Gradle脚本中引用相对路径:
def relativePath = '../subdirectory/myfile.txt'
- 在AndroidManifest.xml文件中引用相对路径:
<meta-data
android:name="my_data"
android:value="../subdirectory/myfile.txt" />
- 在资源文件(如布局文件或字符串资源文件)中引用相对路径:
<ImageView
android:src="@drawable/../subdirectory/myimage.png" />
在上述示例中,相对路径使用../
来表示从当前位置向上一级目录的相对路径。你可以根据实际情况调整相对路径的格式和层数。
使用相对路径的好处是,它提供了一种相对于当前位置的灵活方式来引用文件或目录。这样,当你的工程目录结构发生变化时,不需要修改绝对路径,只需调整相对路径即可。
请注意,相对路径的解析取决于当前位置,因此确保当前位置的准确性和相对路径的正确性。
总而言之,使用相对路径可以在Android工程配置中指定文件或目录的位置,使其更具可移植性和灵活性。根据你的具体需求,可以在相应的配置文件或资源中使用相对路径来引用文件或目录。
来源:juejin.cn/post/7296011286093168659