手机卫士13_屏幕适配_异常处理_盈利模式_混淆加密

Posted 抓根宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手机卫士13_屏幕适配_异常处理_盈利模式_混淆加密相关的知识,希望对你有一定的参考价值。

  今天是手机卫士最后一天

  

1,简易屏幕适配:

①使用线性,相对,帧布局,这三种常用布局在所有设备上几乎可以完整实现,多使用dp,sp,不要使用像素,dp,sp会自动适应屏幕

②浮动窗体显示的距离问题:show出来的距离就是像素,所以显示距离不会适应屏幕.

代码里接收的单位一般都是像素.

解决方式:把输入的数字转换成dp单位.

得到像素密度*像素 获得dp数据,根据屏幕实现的像素效果

通过工具类去转换成dp数据DesityUtils

 

2,应用程序的异常处理:

2.1

alpha版本:小范围的内部测试,BUG会比较多,不稳定

beta版本:比较稳定.可以考虑发布到市场上了

稳定版本,正式版:基本上没有BUG

2.2

应用程序弹出对话框,停止运行.

重写对话框,在对话框弹出来之前就获取到异常放到文件中

①创建一个类:应用程序类,继承Application

配置清单文件application界面,选择name标签,配置这个继承类即可

onCreate()//在应用程序创建之前执行的第一个方法,适合做应用程序初始化操作.

//重写系统的异常处理器.

Thread.currentThread().getDefaultUncaughtExceptionHandler()//获取当前默认的未捕获异常的异常处理器,弹出一个异常停止的对话框

Thread.currentThread().setUncaughtExceptionHandler(UncaughtExceptionHandlerhandler);

③实现这个异常handler,重写方法就可以捕获异常消息

但是虚拟机依然会挂掉,这个是没办法的,不过可以多执行几行代码,把异常写到日志里

然后杀死掉当前进程(不然会一直卡在界面上)早死早超生,内存充足的情况下还会重启.

android.os.Process.KillProcess(android.os.Process.myPid());//只能杀掉自己的pid进程

④应用程序异常的信息处理

在重写方法里的参数Throwable ex,保存有错误的信息

ex.printStackTrace(ps);//把异常信息写到打印输出流里

PrintWriter pw = new PrintWriter(字符串输出流);//把信息写到字符串输入流里

StringWriter sw = new StringWriter(); sw.toString()//可以获取字符串

可以把这个sw代表的错误信息写到文件里

⑤只有错误信息还不够

还需要:产生错误的时间System.currentTimeMillis();

  手机操作系统的信息Build,利用反射获取,getDeclaredFields();//获取字段

//遍历每一个字段,field.getName(); //字段名

field.get(对象,静态可以为null) //字段代表的值

友盟:开发者服务平台,里面有异常捕获的JAR包 更专业一些

 

3,安卓的盈利模式

3.1 付费软件(一般比较少,go桌面,带有自定义主题)

       增值服务(一般游戏里出现)

  免费应用,通过广告流量赚钱

广告平台:百度移动联盟,有米等

获取到广告平台的JAR,查看平台发布的帮助文档.里面介绍很详细的

 

4,应用程序的加密混淆

project.properties文件中,打开config内容config = ${sdk}xx路径

Sdk 下这个文件proguard-android.txt

把这个文件拷贝到项目下,然后修改config指定的文件名即可

然后导出apk(数字签名XXXX),这样生成的apk就是加密混淆过的

原理:生成apk文件的时候把类名和方法名进行动态的修改(反正系统又不看名字,名称只是为了程序员方便编写而已)

 

以上是关于手机卫士13_屏幕适配_异常处理_盈利模式_混淆加密的主要内容,如果未能解决你的问题,请参考以下文章

Android项目实战_手机安全卫士系统加速

手机卫士02_gridView,statelist.ui相关

vue适配不同屏幕大小_移动端适配的几种方案

手机卫士03_手势动作_广播接收者应用

手机卫士10_widget_流量统计_手机杀毒

手机卫士05_背景资源_listview优化_进程查看