如何查看签名信息(sha1值)
如果拥有签名文件,就根据签名文件来查找签名信息(sha1)
keytool -list -v -keystore Alpess.jks
如果没有签名文件,可以将apk解压,找到META-INF下的CERT.RSA,根据CERT.RSA来查看签名信息(sha1)
keytool -printcert -file CERT.RSA
实现静默安装必须拥有该机器的系统签名,所以安装程序必须得拥有系统签名
实现系统签名必须得拥有两个签名文件和一个jar包
platform.pk8
platform.x509.pem
signapk.jar
签名命令:java -jar signapk.jar platform.x509.pem platform.pk8apk路径(签名前) apk路径(签名后)
下载链接:http://download.csdn.net/detail/zhengdongtian/8935979
混淆时的注意事项(开发工具android studio)
混淆时的必备元素
\工程根目录\proguard\proguard.jar(专门针对unity-classes.jar编译而成的)
\工程根目录\app\proguard-android.txt(基本配置,不需要去修改该文件)
\工程根目录\app\proguard-rules.pro(根据程序需要修改该文件)
要想混淆,apk必须要签名,编译时选择release版本
android studio中Build -> Generate Signed Apk Wizard -> 填写签名相关信息,填写完后点击next -> Build Type选择release,点击finish。
编译时注意观察Gradle Console,如果在某个地方卡住了,请打开任务管理器将所有find.exe强制关闭掉。
不是所有代码都能混淆,如果不顾一切把所有代码都混淆了,程序会直接挂掉
使用反射的地方不能混淆
注解的函数不能混淆
android与unity交互的函数不能混淆
所有entity不能混淆
实现了Serializable接口的程序不能混淆
参考 : http://blog.csdn.net/marshalchen/article/details/9928801
混淆后由于程序名和方法名都已经发生变化,所以程序出错后在crash日志中很难定位到具体代码.所以要根据混淆产生的映射表来找到具体代码.
首先修改环境变量(根据自己机器找到android sdk安装路径,然后修改环境变量)
例:
path %PROGUARD_HOME%\bin;……
PROGUARD_HOME F:\android_eclipse_sdk\adt-bundle-windows-x86_64-20140702\sdk\tools\proguard
执行命令(程序产生的映射表的路径:\工程根目录\app\build\outputs\mapping\release\mapping.txt)
retrace.bat -verbose mapping.txt的路径 异常日志的路径
为了方便查看或者修改平板的各种配置,可以使用命令来启动相应的界面
选择活动 | ActivityPicker |
APN设置 | ApnSettings |
设置GSM/UMTS波段 | BandMode |
电池信息 | BatteryInfo |
日期和时间设置 | DateTimeSettingsSetupWizard |
应用程序设置=》开发设置 | DevelopmentSettings |
设备管理器 | DeviceAdminSettings |
设置显示字体大小及预览 | Display |
显示设置 | DisplaySettings |
SIM卡锁定设置 | IccLockSettings |
语言和键盘设置 | LanguageSettings |
已下载(安装)软件列表 | ManageApplications |
格式化手机闪存 | MediaFormat |
代理设置 | ProxySelector |
手机信息 | RadioInfo |
正在运行的程序(服务) | RunningServices |
位置和安全设置 | SecuritySettings |
系统设置 | Settings |
声音设置 | SoundSettings |
测试—显示手机、电池、使用统计、Wifi、服务 | TestingSettings |
绑定与便携式热点 | TetherSettings |
使用情况统计 | UsageStats |
用户词典 | UserDictionarySettings |
例:
我想启动[日期和时间设置]界面
adb shell
am start -n com.android.settings/com.android.settings.DateTimeSettingsSetupWizard