遇到了这样一个问题:我们已经在centos下签名生成好的apk,拿到腾讯乐固上加固以后,签名没有了,就需要重新签名,我乐滋滋的想,既然原来是在centos下签名的,那再去centos上签名一次就好了,可以并没有那么简单,一直报错jarsigner不能打开我的apk,如下:

jarsigner: unable to open jar file: my.apk

后面想了下,我之前的签名是先使用apktool.jar反编译apk,删除里面的META-INF文件夹,然后再编译生成新的apk,然后才签名的,我也尝试了这种方式,发现报错,反编译失败,查了资料,发现腾讯乐固加固有一项就是为了防止apk反编译的,所以我反编译失败是解释的通的。

觉得centos不行,那我再windows下试试,同样的签名命令,windows下在git bash下可以!!!   目前不清楚为啥,不知道是不是不同系统的jdk不一样。

 

在ftp上我们指定了路径给签名apk使用,比如是\\192.168.1.3\ftp\sign_apk

用到了两个脚本,一个bat,一个shell,所以需要在windows上安装下git bash,话不多说,直接看下脚本,

bat脚本:sign_apk.bat

@echo on
setlocal ENABLEDELAYEDEXPANSION
set apk_path="\\192.168.1.3\ftp\sign_apk"
set local_sign_path=C:\build_bat\sign_apk
::当前路径
set cur_path=%cd%
::复制key文件
echo cur_path=%cur_path% and ftp_path=%apk_path%
copy %local_sign_path%\mirror_aw.key .\
xcopy %apk_path%\* .\
md target
::查找当前目录下的所有apk文件,并调用shell脚本签名
for /F %%h in ( 'dir /B %cur_path%\ ^|findstr ".apk" ' ) do (

set apk_name=%%h
echo apk_name=!apk_name!
call %local_sign_path%\sign_tool.sh !apk_name!
)
::等shell执行结束后,将签名后的apk回收到ftp上
ping 127.0.0.1
xcopy target\* %apk_path%

shell脚本:sign_tool.sh

#!/bin/bash
echo ==========sign $apk_name=====================
time_now=`date "+%Y%m%d%H%M"`
jarsigner -verbose -digestalg SHA1 -sigalg SHA1withRSA -keystore mirror.key -signedjar target/"$time_now"_signed_"$apk_name" $apk_name $key_alise -storepass $passwd

两个脚本放在同一个目录下,同级目录下还有个key文件,加密时使用

最后直接执行bat脚本就可以了,执行结束后,会在你的ftp路径下看到以“时间_signed”标志开始的apk,就是已经签名了的apk

转载于:https://www.cnblogs.com/zndxall/p/9512881.html

乐固加固后windows下实现给apk签名相关推荐

  1. android Tinker 热修复 乐固加固后友盟打多渠道包之后的补丁失效

    继上一篇 android tinker 热修复使用及注意事项  生成了热修复的补丁; 现在的需求是这样的,我想把这个包用腾讯乐固加固,然后生成多渠道包,希望这个补丁能修复所有这些渠道的包,经过测试,直 ...

  2. AS--›Gradle乐固加固和下载

    推荐阅读, 优先了解Gradle的使用: AS–›Gradle上传文件至七牛云 AS–›Gradle上传文件至蒲公英 目录 说明 1.只能加固url对应的apk 2.需要自己手动重新签名 乐固加固 待 ...

  3. Android项目Jenkins配置(自定义参数构建,构建完成后360加固+自动下载签名+多渠道配置,自动乐固加固+签名,自动上传蒲公英,自动上传OSS,自动发送钉钉消息,自动发送企业微信应用)

    Mac,window,unix,Linux等系统安装Jenkins服务就不说了... 直接上干货 编译后shell脚本参考 #推送钉钉群curl 'https://oapi.dingtalk.com/ ...

  4. 乐固加固APP后无法启动

    最近在上线项目的时候,使用了腾讯的乐固加固软件,签名加固前APP正常启动,签名加固后APP启动后立马闪退.分别使用了三款测试机OPPO R9(android 5.0).华为P10(android 8. ...

  5. 使用腾讯乐固加固安卓APK

    内容简介 为了保护我们的劳动成果和知识产权,必须对APK对加固工作,否则极易被人破解.篡改,二次打包.市面上当前做加固的有很多家,实际使用了腾讯乐固和360加固(看了网易也有易盾,但是因为只能试用,所 ...

  6. java调用腾讯云的乐固加固给apk进行加固处理。

    利用maven下载相应的jar包 <dependency>             <groupId>com.tencentcloudapi</groupId>   ...

  7. 上传Android应用到腾讯应用宝,乐固加固应用使用

    当我们开发完安卓系统APP之后.需要上传到应用市场 在上传到腾讯应用宝是,需要使用腾讯加固工具 乐固 加固apk.才能正常上架. 如没有加固应用会提示: 加固步骤: 1.下载乐固包:https://d ...

  8. 关于使用腾讯乐固加固,涉及的签名及其他问题

    年前的俩个项目,都涉及到了Apk加固的概念,那我们先大概说一下为什么要加固. 先看一下官方的说法; 这里给一下官方文档的链接腾讯乐固文档添加链接描述 所以我们使用的是腾讯乐固加固工具. 这里还需要了解 ...

  9. windows下一键安装apk

    windows下一键安装apk onekeyinstall.bat代码如下: @echo off set /a sum=0 for %%n in (*.apk) do ( echo start ins ...

最新文章

  1. 十折交叉验证10-fold cross validation, 数据集划分 训练集 验证集 测试集
  2. python学习手册中文版免费下载-python学习手册下载|
  3. 头脑风暴是如何毁掉创意的?
  4. Eclipse中javascript文件 clg 变为console.log();
  5. python综合练习1-- 用户登录
  6. 充分掌握网络工作原理及底层实现 大家都做什么项目啊?
  7. windows访问mysql57_windows下 Mysql5.5升级5.7(其实就是安装了两个版本的mysql)
  8. 查看目录中的内容及权限
  9. @Value取值为NULL的解决方案
  10. ACGAN(Auxiliary Classifier GAN)详解与实现(tensorflow2.x实现)
  11. 泰勒公式矩阵形式_雅可比矩阵、黑森矩阵、泰勒展开式
  12. rust自创服务器_萌新教大家搭建Rust服务器(局域网和公网)
  13. 【LeetCode】重复的子字符串
  14. 利用人性弱点的互联网产品(二)色欲
  15. 再获国家级荣誉!谱尼测试蝉联“国家知识产权优势企业”
  16. 系统架构的演变过程?
  17. flutter集成高德地图获取位置
  18. psycopg2.pool.PoolError: connection pool exhausted
  19. 关于dede获取购物车中商品ID及提交为表单问题总结
  20. JuJu团队12月4号工作汇报

热门文章

  1. Android动画特效(《安卓群英传》实例)
  2. hioki电阻测试仪3540软件,微电阻计/电阻测试仪/HIOKI 3540/HIOKI 3560/日置3540/日置3560...
  3. 论文录用后不想发了,撤稿会有什么影响吗?
  4. Mac清倒废纸篓提示“voicetrigger“在使用中
  5. OpenGL入门学习[二] 绘制简单的几何图形
  6. 23考研| 你来了,准硕士!!!
  7. Transact-SQL语言基础语句
  8. Win10解决:系统管理员已阻止你运行此应用
  9. FootStep 6、诺基亚、摩托罗拉、索尼爱立信和三星手机系列命名介绍『整理、了解』
  10. MATLAB:读取nc文件并将nc文件转为tif文件输出