Android MMS定制
来源:互联网 发布:软件开发年终工作总结 编辑:程序博客网 时间:2024/06/06 09:38
MMS,也就是Android里面的短信系统,可以收发短信,彩信等。接下来我们对MMS工程进行编译和修改,增加我们自己要的功能,然后再下载到真机中运行。
一、编译MMS工程
1、编译MMS工程可以在源码树中编译,也可以在eclipse中编译。先从源码树中复制MMS工程,然后导入到eclipse中,会发现有很多没有的库,接下来创建一个User 库,勾选as system lib,然后导入源码树中的class.jar,然后整个工程都是正确的。
2、修改eclipsec.ini文件,把256m等数字全部改大,改成1024m等。
3、编译,一般情况下几秒就编完,假如编译很久都没编完,就直接在任务管理器终止,再次修改eclipsec.ini文件。
4、要将Mms.apk下载到虚拟机中运行,必须要先删除虚拟机里面的Mms.apk,直接使用adb命令无法删除,因为没有权限。先输入adb remount,获取最高权限,再执行adb rm /system/app/Mms.apk ,顺便把data/data中的com.android.mms也删除了。
5、点击eclipse中的运行按钮,顺利的话就能成功运行。
有时候会出现这个
Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE --没有卸载干净。
Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE ---没有系统签名,使用了android:sharedUserId="android.uid.system"的缘故。
使用目标系统的platform密钥来重新给apk文件签名。 首先找到密钥文件,在Android源码目录中的位置是"build\target\product\security",下面的platform.pk8和platform.x509.pem 两个文件。 然后用Android提供的Signapk工具来签名,signapk的源代码是 在"build\tools\signapk"下, 我编译好之后的路径在out/host/linux-x86/framework下。用法为"java -jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk"。
二、修改工程
1、MmsApp.java
这个文件是最先执行的,可以把全局变量定义在这里,或者要添加的功能,比如说GPS定位等。
2、裁剪掉发送短信中附件功能,也就是去掉彩信功能,
修改res/xml/mms_config.xml,配置mms功能为false
三、运行
运行Mms.apk,在点击短信进行发送的过程中出现异常退出,提示如下错误
问题:java.lang.NoClassDefFoundError: com.android.common.userhappiness.UserHappinessSignals
解决:找不到com.android.common包下的类,这个包源码在/frameworks/ex/java下。
假如是在源码中编译通过的,可以直接在\out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates\中找到classes.jar,改名为android-common.jar,导入到机器的system/framework中即可。
假如在eclipse中编译,那么把android-common.jar导入到工程中,优先于其他库,编译完就没有出错。
- Android MMS定制
- Android Mms
- Android Mms专题之:Mms概览介绍
- Android Mms专题之:Mms源码结构
- Android Mms专题之:Mms概览介绍
- Android Mms专题之:Mms源码结构
- Android Mms专题之:Mms概览介绍
- Android Mms专题之:MMS支持
- Android Mms专题——MMS支持
- Android Mms专题之:MMS支持
- Android Mms专题之:Mms源码结构
- Android Mms专题之:Mms概览介绍
- Android Mms专题之:Mms概览介绍
- Android Mms专题之:Mms源码结构
- Android Mms专题之:MMS支持
- Android Mms专题之:Mms概览介绍
- Android Mms专题之:Mms源码结构
- Android Mms专题之:MMS支持
- iOS应用国际化教程(2014版)
- 有什么方法把word转换成pdf
- 【水题】Codeforces Round #289 509E Pretty Song
- The first (for-each,数组)
- 用juery 实现的select特效 jquery.easydropdown.min.js
- Android MMS定制
- 机器学习之正则化
- Android官方入门文档[16]创建一个Fragment代码片段
- 程序用调试用的宏
- UITableView常用
- [算法系列之三十一]最近公共祖先(LCA)
- 从零开始编写自己的JavaScript框架(一)
- 画图
- connect by prior 递归算法