1.adb 命令 for mac
sudo vim ~/.bash_profile 打开 .bash_profile文件。按 i 进入输入模式
export PATH=${PATH}:/Users/edz/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/edz/Library/Android/sdk/tools
点击 esc ,输入 :wq 回车(保存并退出文本)
应用该变更
source ~/.bash_profile
adb devices
adb install ......apk
2.安卓jks相关
获取md5,sha 值:
keytool -v -list -keystore /Users/edz/newapk/jsover001.jks
获取jks的散列值28位:
keytool -exportcert -alias jsover -keystore /Users/edz/newapk/jsover082.jks|openssl sha1 -binary | openssl base64
生成jks签名(简版)
keytool -genkey -v -keystore /Users/edz/newapk/jsover065.jks -keyalg RSA -keysize 2048 -validity 36500 -alias jsover
生成jks签名(完版)
keytool -genkey -v -alias jsover -keypass 123321 -keyalg RSA -keysize 2048 -validity 36500 -keystore /Users/edz/newapk/jsover008.jks -storepass 123321 -dname "CN=Chen, OU=Wangmingd, O=Wangmingd, L=Pudongd, ST=Shanghai, C=CN"
3,更改Mac 地址:
sudo ifconfig en0 ether c4:b3:01:cf:bd:59
注意,不同电脑可能有多个en0,en1,注意查看哪个是active的,用ifconfig 查看。
4,source tree ,gitlab , 配置SSH Keys
ssh-keygen -t rsa -C “xxxx@sdfsdf.com”
接着会提示你输入密码(这个没有必要输入,我本人没有输入),然后执行到出现一个矩形框的时候就OK了。这是你会发现C盘当前用户目录下多了一个.ssh文件夹,打开.ssh文件夹会发现两个文件id_rsa和id_rsa.pub,前面的就是私钥,后面的是公钥,用记事本将公钥打开,copy到gitlab->SSH Keys->Key中,copy之后Title中会显示你的邮箱账号(该title是可以随意命名的)。完成之后点击Add key按钮。到这里gitlab端的公钥就配置好了。我们要用到sourcetree来下载代码到本地还要对sourcetree来进行设置。
5.以下未验证
基础环境:WINDOWS,JDK,ANDROID SDK
1.找对对应的SDK目录:
window环境:
C:\Users\EDZ\AppData\Local\Android\Sdk
2.找到到build-tools 文件夹对应不同的版本 下面 zipalign.exe 执行文件
到目录:
C:\Users\EDZ\AppData\Local\Android\Sdk\build-tools\27.0.3
3.将原来的包修改为.zip 后缀文件,使用12345解压软件打开但不解压 删掉签名文件
Tips:如果解压以后删除 在验证签名时会出现AndroidManifest.xml文件丢失的异常
source.zip
4.执行对齐:
zipalign -v 4 .\1\source_1_r.zip .\1\source_align.zip
5.修改后缀名为.apk
6.签名:
java -jar .\lib\apksigner.jar sign --ks .\1\1.jks --min-sdk-version 16 --out .\1\signed.apk .\1\source_align.apk
Tips:
--min-sdk-version 16 看情况选择最小版本号 或者 是否添加这个限制,可以先不添加 如果不抛出异常,可以不用添加该限制
7.验证签名结果(是否同时v1 v2签名):
java -jar .\lib\apksigner.jar verify -v .\1\signed.apk
8.验证对齐结果:
zipalign -c -v 4 .\1\signed.apk
9.检查apk 的min sdk version 和 max sdk version 必须兼容8.0(api26及以上)
aapt dump badging .\1\*.apk
反馈:
1.api 级别问题:
Google 调整 目标API 必须兼容 8.0 及 26及以上
签名的时候使用 --max-sdk-version 26 无法解决,最终方案:找的源包需要支持Android8.0