Android studio 导入咕咚翻译的问题
- 每次在导入新的项目时,因为编译环境的不一致,例如,Gradle不一致,build tool 版本不一致,sdk版本不一致,等等原因导致在导入项目后的很长一段时间里你都要忍受它缓慢的去下载新的工具,简直就是日了狗,用eclipse的时候顶多也不过的SDK的版本不一致需要更新而已。
- 我所遇到的是Gradle工具的问题,看起来应该是bug吧,因为在app>build.gradle配置内是真实配置了我的签名文件的,但是每次gradlew build的时候都会提示我release build not found signing file(未找到签名文件),这就很尴尬了,然后我在file > project Structure > Modules选项中的配置信息全是空的,没读取到,但是却是可以打包的。
- 既然可以打包问题就不大了,接下来就是签名了,签名以前有搞过的
apktool 使用之反编译
1.在apktool文件目录下打开aapt.exe,
再使用命令apktool d BrowserPlugin_20160216.apk
BrowserPlugin_20160216.apk为需要解压的apk文件
2.apktool 使用之打包apk
命令 :apktool b BrowserPlugin_20160216 ak.apk
BrowserPlugin_20160216为需要打包的文件夹,ak.apk为打包生成的apk文件
最终在dist目录下
ps:这样打包的apk文件没有经过签名,无法安装
3.进入JDK的bin目录下 签名文件和APK文件移动到该目录下
命令 :jarsigner -verbose -keystore dmad3.keystore -signedjar ba.apk BrowserPlugin_20160216.apk dmsdk
dmad3.keystore为签名文件、
BrowserPlugin_20160216.apk为需要签名的APK文件
ba,apk为输出的apk文件
dmsdk为dmad3.keystore的别名(在jdk的bin目录下查询别名的方法:keytool -list -v -keystore dmad3.keystore -storepass 密码可以展示出签名文件的所有信息)
ps:当别名出错时会提示秘钥链找不到,区分大小写,名称出错时会提示无法打开类
4.即便打包完成,也会出现大部分机型无法安装的情况:签名时未加入时间戳!
即使用命令
jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -verbose -keystore dmad3.keystore -signedjar ba.apk BrowserPlugin_21841894.apk dmadsdk
-digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa是添加时间戳的命令
//验证签名是否完成,jar已验证则成功
jarsigner -verify BrowserPlugin_21841894.apk
jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa
https://timestamp.geotrust.com/tsa -verbose -keystore dmad3.keystore -signedjar ba.apk MiliPay_REQ.apk dmadsdk
看,就是这样,哈没问题了,事实证明,AS这一大堆的乱七八糟的姿势问题真是头疼,还是命令来得快