1.一种修改移动设备应用的生命周期的方法,所述方法包括:
提供应用清单文件和字节码文件,所述应用清单文件和字节码文件对应于计算机软件应用;
将应用类的原始方法重命名为所述字节码文件中的重命名的方法;
在所述字节码文件中的应用类中插入包装器方法,所述包装器方法具有所述原始方法的名称,所述包装器方法被配置为在调用所述重命名的方法之前调用认证或加密方法;
将原始内容提供器类的名称修改为所述应用清单文件中的经修改的内容提供器类名称;以及
在所述字节码文件中创建包装器内容提供器类,所述包装器内容提供器类具有所述经修改的内容提供器类名称,所述包装器内容提供器类被配置为在转发对所述原始内容提供器类的方法的调用之前检查所述原始内容提供器类是否被实例化。
2.如权利要求1所述的方法,还包括:
将活动类的原始方法的名称重命名为所述字节码文件中所述活动类的重命名的方法;以及
在所述字节码文件中的所述活动类中插入假方法,所述假方法具有所述活动类的所述原始方法的名称,所述假方法被配置为在调用所述活动类的所述重命名的方法之前调用认证或加密方法。
3.如权利要求1或权利要求2所述的方法,其中所述应用清单文件中的所有内容提供器类名称被重命名。
4.如前述权利要求中的任何一项权利要求所述的方法,还包括:
通过所述包装器方法读取策略,其中对所述认证或加密方法的调用基于所述策略。
5.如权利要求4所述的方法,其中所述策略从信息技术(IT)部门被发送到其上安装所述移动设备应用的移动设备。
6.如前述权利要求中的任何一项权利要求所述的方法,其中所述包装器方法包括对移动设备管理器应用的调用。
7.如前述权利要求中的任何一项权利要求所述的方法,其中所述原始方法包括静态块初始化。
8.如前述权利要求中的任何一项权利要求所述的方法,其中所述原始方法包括构造器。
9.如权利要求8所述的方法,还包括:
重命名应用静态初始化方法、应用构造器方法、应用attachBaseContext()方法、内容提供器静态初始化方法、内容提供器构造器方法、内容提供器onCreate()方法、应用onCreate()方法、启动器活动静态初始化方法、启动器活动构造器方法以及所述字节码文件中的启动器活动onCreate()、onStart()和onResume()方法。
10.如前述权利要求中的任何一项权利要求所述的方法,还包括:
将onCreate()、onStart()、onStop()、onRestart()、onPause()、onResume()或onDestroy()方法插入到所述包装器类中。
11.如前述权利要求中的任何一项权利要求所述的方法,其中所述原始方法的重命名包括将前缀或后缀追加到所述原始方法,以创建所述重命名的方法。
12.如前述权利要求中的任何一项权利要求所述的方法,其中所述应用清单文件包括可扩展标记语言(XML)代码。
13.如前述权利要求中的任何一项权利要求所述的方法,其中所述字节码文件是用于Google计算机应用的Google可执行(DEX)字节码文件。
14.如权利要求13所述的方法,还包括:
从Google应用包(APK)文件提取所述应用清单文件和所述字节码文件。
15.一种机器可读非暂态介质,所述机器可读非暂态介质包含指示用于使一个或多个机器执行用于修改移动设备应用的生命周期的操作的指令的信息,所述操作包括:
提供应用清单文件和字节码文件,所述应用清单文件和字节码文件对应于计算机软件应用;
将应用类的原始方法重命名为所述字节码文件中的重命名的方法;
在所述字节码文件中的所述应用类中插入包装器方法,所述包装器方法具有所述原始方法的名称,所述包装器方法被配置为在调用所述重命名的方法之前调用认证或加密方法;
将原始内容提供器类的名称修改为所述应用清单文件中的经修改的内容提供器类名称;以及
在所述字节码文件中创建包装器内容提供器类,所述包装器内容提供器类具有所述经修改的内容提供器类名称,所述包装器内容提供器类被配置为在转发对所述原始内容提供器类的方法的调用之前检查所述原始内容提供器类是否被实例化。
16.如权利要求15所述的介质,其中所述操作还包括:
将活动类的原始方法的名称重命名为所述字节码文件中的所述活动类的重命名的方法;以及
在所述字节码文件中的所述活动类中插入假方法,所述假方法具有所述活动类的所述原始方法的名称,所述假方法被配置为在调用所述活动类的所述重命名的方法之前调用认证或加密方法。
17.如权利要求15或权利要求16所述的介质,其中所述应用清单文件中的所有内容提供器类名称被重命名。
18.一种用于修改移动设备应用的生命周期的计算机系统,该系统包括:
处理器,以及
与处理器可操作地耦接的存储器,所述处理器执行来自所述存储器的指令,包括:
用于提供应用清单文件和字节码文件的程序代码,所述应用清单文件和字节码文件对应于计算机软件应用;
用于将应用类的原始方法重命名为所述字节码文件中的重命名的方法的程序代码;
用于在所述字节码文件中的所述应用类中插入包装器方法的程序代码,所述包装器方法具有所述原始方法的名称,所述包装器方法被配置为在调用所述重命名的方法之前调用认证或加密方法;
用于将原始内容提供器类的名称修改为所述应用清单文件中的经修改的内容提供器类名称的程序代码;以及
用于在所述字节码文件中创建包装器内容提供器类的程序代码,所述包装器内容提供器类具有所述经修改的内容提供器类名称,所述包装器内容提供器类被配置为在转发对所述原始内容提供器类的方法的调用之前检查所述原始内容提供器类是否被实例化。
19.如权利要求18所述的系统,其中所述处理器执行还包括以下程序代码的指令:
用于将活动类的原始方法的名称重命名为所述字节码文件中的所述活动类的重命名的方法的程序代码;以及
用于在所述字节码文件中的所述活动类中插入假方法的程序代码,所述假方法具有所述活动类的所述原始方法的名称,所述假方法被配置为在调用所述活动类的所述重命名的方法之前调用认证或加密方法。
20.如权利要求18或19所述的系统,其中所述应用清单文件中的所有内容提供器类名称被重命名。