android_工作笔记1

如何查看签名信息(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


你可能感兴趣的:(android,签名,混淆,系统配置activity)