请选择 进入手机版 | 继续访问电脑版

机锋论坛

  • 关注机锋
  • 关注机锋
 找回密码
 注册
查看: 161145|回复: 745

[原生] android

  [复制链接]

27

主题

9

好友

2338

积分

等待验证会员

  • TA的每日心情
    奋斗
    2015-1-3 20:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    832
    最后登录
    2018-12-2
    注册时间
    2011-2-13
    发表于 2012-1-17 23:25 |显示全部楼层

    马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。

    立即注册 已有帐号?点击登录   下载游戏和软件,请【猛击这里】进入机锋市场!

    ×
    本帖最后由 aws2003 于 2012-8-7 09:58 编辑

    1. 8月7日更新:jb 4.1的更新方法(我以为现在的ROM都带了,不需要自己动手改了,但还有许多机油联系我这个问题)
    2. 6月17日更新:回编译提示 All register args must fit in 4 bits解决办法
    3. 6月8日更新:2012同步最新归属地数据库
    4. 3月11日更新:2012最新归属地数据库,ota-cm-aokp-gummy更新在对应的ext.jar中,需要的请重新对应下载!
    5. 3月10日更新:2012最新归属地数据库<---这天的数据有点乱,虽然不影响使用,我重新做了调整。
    6. 3月4日更新:aokp b27 Phone.apk
    7. 2月8日更新:小米 Phone.apk (未测试,能担风险的机油帮忙测试后留言下,没有问题除此字样)
    8. 2月8日更新:aosp+2.2  Phone.apk
    9. 2月7日更新:CyberGR-MODv.7 ext.jar Phone.apk
    10. 2月7日更新:CM9 v2 Phone.apk
    11. 2月6日更新:GummyNexs0.7.3 的ext.jar和Phone.apk
    12. 2月3日更新:FOR “AOKP M3 ROM” 的ext.jar和Phone.apk(未测试,能担风险的机油帮忙测试后留言下,没有问题除此字样)
    13. 2月1日更新:添加4.04rom 的Phone.apk (ext.jar 请使用cm类的)
    14. 大年初五更新:归属地数据显示:吉林省吉林省市显示为吉林省市的问题(更新在ext.jar中,需要的请重新下载)
    复制代码
    更新分两步:
    1、更新对应的ext.jar,是为了补充手机归属地的数据库(如果你还是喜欢google仅陌生来电显示归属地,就不需要更新第二步了)
    2、更新对应的Phone.apk,是调整了来去电(包括已有联系人)手机归属地显示)

    注:通话记录中仅对更新后的来去电(陌生电话)有效,原来的记录还显示“中国”,Phone.apk仅调整了拨号界面显示归属(没有对其它作修改)


    此次仅放上数据库文件,请各们自行替换。
    方法:
    1、用工具(RootExploer付费版或adb等)提取/system/framework/ext.jar 至电脑
    2、用户winrar等软件打开ext.jar,将86_zh拖入替换\com\android\i18n\phonenumbers\geocoding\data\86_zh
    3、用工具(RootExploer付费版或adb等)放回/system/framework/ext.jar 修改权限

    ---->原生格式(无运营商版)(需要解压)
    86_zh.zip (580.25 KB)

    adb 命令参考:
    1. adb remount
    2. adb pull /system/framework/ext.jar
    3. ----替换 ext.jar的86_zh
    4. adb remount
    5. adb push ext.jar  /system/framework/ext.jar
    6. adb shell chmod 644  /system/framework/ext.jar
    7. adb reboot
    复制代码
    4.0.4 OTA 的由 disney0103 共享在这里:http://bbs.gfan.com/android-3962001-1-1.html

    andriod 4.0原生就支持来电归属地。细心点的都发现了。

    只不过数据仅支持到固话,手机的来电都显示中国,很是蛋痛。

    有人在帖子也希望改进:http://bbs.gfan.com/viewthread.p ... ertype=0&page=1

    另外,对的归属地的显示,google在思维逻辑可能和我们的习惯不一样,他觉得去电或已有本地联系人的,已没有必要显示归属地了。不过想想这也对。

    所以我仅研究了一下,数据归属地的数据结构。并使用这里的数据

    http://bbs.gfan.com/android-1745343-1-1.html

    重新生成一份适用于ics归属地文件,较久了,归属地肯定有遗漏不少,我统计了一下约23万多条数据,包括400多个城市。

    关一上个帖子我说了一个数据格式,不好意思,那错了,那个是google 的 libphonenumber  (http://code.google.com/p/libphonenumber/)项目的结构

    在android,google还针对手机这种环境做了优化,提供了两种格式:

    第一种默认格式:用于归属地与号码段一一对应的。

    所以做了针对第二种的数据文件:测试一下,似乎在通话记录中比原来的出现慢了点,估计原来300多的数据,添加至23万的原因吧。


    Screenshot_2012-01-17-21-29-53.png





    官方OTA4.0.3的版本,系统system/framework下有ext.odex的,无ext.odex请不要使用这个,会卡机
    ext.zip (736.6 KB)

    CM类,4.04
    cm_extjar.zip (1.24 MB)

    aokp未测试
    aokp_ext.zip (1.24 MB)

    gummy
    gummyExtjar.zip (1.21 MB)

    没有做刷机包,大家用re替换哈,解压后的ext.jar 替换 /system/framework/ext.jar 并修改权限,重启手机即可。
    cm替换之前,最好用recovery备份一下啊,因为第三方的怕有签名的改变,而引起无法开机的情况,

    adb 替换参考命令

    1. adb devices
    2. adb root
    3. adb remount
    4. adb push ext.jar /system/framework
    5. adb shell chmod 644 /system/framework/ext.jar
    6. adb reboot
    复制代码
    如果你的替换后无法开机,可以用户winrar或7-zip把jar里的 \com\android\i18n\phonenumbers\geocoding\data\86_zh文件,替换你机器中ext.jar的对应文件,再用你的ext.jar来替换,保证签名一致。


    我没有对代码作任何修改,仅作了数据文件的补充,如果要修改,可能改为能范围来查询归属地,可能会更快一些,但这对使用上感觉不明显,所以也没有动代码的了。

    ===========================================================
        以下是更新来去电拨号界面的修改,各ROM的Phone.apk可能会FC,请对应下载
    ===========================================================
    更新方法和上面的一样(system/app下)
    第一次开机,如第一次连接服务商较久,这是正常现象,下次启动就正常了。(如果长时无法连接移动网络的,开关一次飞行模式马上就连接上了,不知怎么回事,但到现在我暂时未发现有断网的现象,不影响正常使用。能忍受这些问题的机油,可以更新一下)



    使用SIP标签显示,所有来去电显示归属地(包括已有联系人的)
    Screenshot_2012-01-22-18-49-46.png

    Screenshot_2012-01-22-23-27-36.png

    Screenshot_2012-01-22-23-32-24.png



    for 原生ota 4.0.3版本的修改
    ---------------------------------
    绿色: Phone.apk (1.92 MB)
    蓝色: Phone蓝色.apk (1.92 MB)


    =======================
    for aokp rom未测试
    -----------------------------------------
    绿色: Phone_apkp_绿色.apk (1.01 MB)
    蓝色: Phone_aokp_蓝色.apk (1.01 MB)


    ========================
    for gummy 0.7.2 ROM
    -----------------------------
    绿色: PhoneGummyNew.apk (1 MB)

    ========================
    for aokp b27
    -----------------------------------------
    绿色: Phone.apk (2.35 MB)

    =======================
    for CyberGR-MODv.7
    --------------------------------------------------
    ext.jar CyberGRext.zip (1.21 MB)
    绿色Phone.apk Phone_CyberG.apk (1 MB)

    ========================
    for 小米 未测试
    --------------------------------------------
    绿色: Phone_xiaomi.apk (651.89 KB)

    ========================

    以下由 平生无趣  提供,谢谢!

    for kang rom
    ---------------------------------------------------
    绿色版本 Phone_kang.apk (1 MB)
    蓝色版本 Phone_kang蓝色.apk (1 MB)

    ============================
    for 4.04 rom  请至
    -------------------------------
    绿色: 201楼
    蓝色: 206楼

    ==================
    以下由 landyking  提供,谢谢!

    for cm9【update-cm-9.0.0-RC0-NS-signed.no.v2.p1】
    ------------------------------------------------------------------
    绿色:请至 237楼

    ========================
    以下由fgprodigal 提供,谢谢!

    for aosp+2.2
    --------------------------
    请至: 279楼 fgprodigal


    ====================================
    附修改方法,动手好一点的,可以修改自己的ROM
    使用到工具baksmali及smali(查自行下载这两个工具)
    classes.dex 为 Phone.apk提取

    java -jar baksmali-1.3.jar -o Phone classes.dex

    java -jar baksmali-1.3.jar -o Phone  -x Phone.odex
    在Phone目录下得到smail文件
    找com\android\phone\CallCard.smali

    添加一个方法,用于显示及修改原有联系人去电不查询归属地逻辑
    有人问放在哪里?随便找一个 .method private  ...前插入吧。
    1. .method private setGeoDescription(Lcom/android/internal/telephony/CallerInfo;)V
    2.     .locals 3
    3.     .parameter "info"

    4.     .prologue
    5.     const/16 v2, 0x8

    6.     .line 36
    7.     if-nez p1, :cond_1

    8.     .line 51
    9.     :cond_0
    10.     :goto_0
    11.     return-void

    12.     .line 38
    13.     :cond_1
    14.     iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

    15.     invoke-virtual {v0}, Landroid/widget/TextView;->getVisibility()I

    16.     move-result v0

    17.     if-ne v0, v2, :cond_0

    18.     .line 39
    19.     iget-object v0, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

    20.     invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    21.     move-result v0

    22.     if-eqz v0, :cond_2

    23.     .line 40
    24.     invoke-virtual {p0}, Lcom/android/phone/CallCard;->getContext()Landroid/content/Context;

    25.     move-result-object v0

    26.     iget-object v1, p1, Lcom/android/internal/telephony/CallerInfo;->phoneNumber:Ljava/lang/String;

    27.     invoke-virtual {p1, v0, v1}, Lcom/android/internal/telephony/CallerInfo;->updateGeoDescription(Landroid/content/Context;Ljava/lang/String;)V

    28.     .line 42
    29.     :cond_2
    30.     iget-object v0, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

    31.     invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    32.     move-result v0

    33.     if-nez v0, :cond_0

    34.     .line 43
    35.     iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

    36.     const/4 v1, 0x0

    37.     invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V

    38.     .line 44
    39.     iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

    40.     iget-object v1, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

    41.     invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    42.     .line 45
    43.     iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

    44.     iget v1, p0, Lcom/android/phone/CallCard;->mTextColorCallTypeSip:I

    45.     invoke-virtual {v0, v1}, Landroid/widget/TextView;->setTextColor(I)V

    46.     .line 46
    47.     iget-object v0, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

    48.     iget-object v1, p0, Lcom/android/phone/CallCard;->mPhoneNumber:Landroid/widget/TextView;

    49.     invoke-virtual {v1}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence;

    50.     move-result-object v1

    51.     invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    52.     move-result v0

    53.     if-eqz v0, :cond_0

    54.     .line 47
    55.     iget-object v0, p0, Lcom/android/phone/CallCard;->mPhoneNumber:Landroid/widget/TextView;

    56.     invoke-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)V

    57.     goto :goto_0
    58. .end method
    复制代码
    在updateDisplayForPerson中添加调用 (可能各自反编译的smali变量名不一样)
    ------ics 4.0 的情况----
    查找类似(关键字updateSocialStatus):
    1. invoke-direct {p0, v14, v13, v0}, Lcom/android/phone/CallCard;->updateSocialStatus(Ljava/lang/String;Landroid/graphics/drawable/Drawable;Lcom/android/internal/telephony/Call;)V
    复制代码
    后添加两句
    1.        
    2.         move-object/from16 v0, p1
    3.        
    4.         invoke-direct {p0, v0}, Lcom/android/phone/CallCard;->setGeoDescription(Lcom/android/internal/telephony/CallerInfo;)V
    复制代码
    如果你的手机找到是类似或提示All register args must fit in 4 bits:
    1. invoke-direct {v0, v1, v2, v3}, Lcom/android/phone/CallCard;->updateSocialStatus(Ljava/lang/String;Landroid/graphics/drawable/Drawable;Lcom/android/internal/telephony/Call;)V
    复制代码
    将上面两句改成:
    1. invoke-direct/range {p0 .. p1}, Lcom/android/phone/CallCard;->setGeoDescription(Lcom/android/internal/telephony/CallerInfo;)V
    复制代码
    -------ics 4.0结束---------
    -----jb 4.1的情况------
    查找类似(关键字updateCallTypeLabel):
    1.     .line 1372
    2.     :goto_a3
    3.     invoke-direct {p0, p4}, Lcom/android/phone/CallCard;->updateCallTypeLabel(Lcom/android/internal/telephony/Call;)V

    复制代码
    后添加一句:
    1. invoke-direct {p0, p1}, Lcom/android/phone/CallCard;->setGeoDescription(Lcom/android/internal/telephony/CallerInfo;)V
    复制代码
    ---jb 4.1结束

    祝好运!!


    再java -jar smali-1.3.jar Phone -o classes.dex

    用zip软件拖回原来的Phone.apk ,替换手机的Phone.apk 修改权限,重启即可

    =============以下是没有用的附件,机锋里删除了,不管用===================
    Screenshot_2012-01-22-23-32-38.png

    Phone.apk

    1.92 MB, 下载次数: 474, 下载积分: G币 -1

    SystemUI_ota.apk

    791.39 KB, 下载次数: 90, 下载积分: G币 -1

    90

    查看全部评分

    度量转换  安卓4.4怎么样

    23

    主题

    0

    好友

    1054

    积分

    学士

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    开心
    2018-5-2 00:54
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    G币
    1371
    最后登录
    2018-8-28
    注册时间
    2010-5-12
    发表于 2012-1-17 23:27 |显示全部楼层
    安装个360安全软件,就什么都有了。
    朝闻道,夕死可矣!
    冷眼看客  雷霆战机2完美版

    27

    主题

    9

    好友

    2338

    积分

    等待验证会员

  • TA的每日心情
    奋斗
    2015-1-3 20:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    832
    最后登录
    2018-12-2
    注册时间
    2011-2-13
    发表于 2012-1-17 23:30 |显示全部楼层
    本帖最后由 aws2003 于 2012-1-17 23:38 编辑

    说实话,我不太喜欢安装大多软件,现在的国内软件,都是商业第一,我知道他要赚钱,但商业味道也太浓了。

    所以,这个日历的农历更改,也吃自己
    http://bbs.gfan.com/android-3337865-1-1.html
    1

    查看全部评分

    勒布朗詹姆斯壁纸  联众斗地主

    8

    主题

    0

    好友

    998

    积分

    等待验证会员

    该用户从未签到

    G币
    372
    最后登录
    2016-8-30
    注册时间
    2011-6-6
    发表于 2012-1-17 23:53 |显示全部楼层
    这个不错哟。我也不喜欢装一堆软件,特别数字的,一大把功能用不到。
    有比我更帅的吗   328w

    2

    主题

    1

    好友

    526

    积分

    大学本科

    Rank: 6Rank: 6

    该用户从未签到

    G币
    216
    最后登录
    2018-3-2
    注册时间
    2011-12-19
    发表于 2012-1-18 00:00 |显示全部楼层
    强烈关注
    吹裙子 安卓  联通亲情号 

    11

    主题

    1

    好友

    744

    积分

    等待验证会员

  • TA的每日心情
    无聊
    2014-2-17 23:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    338
    最后登录
    2016-8-2
    注册时间
    2011-5-5
    发表于 2012-1-18 00:02 |显示全部楼层
    楼主能做个原生T9拨号不?
    百视通nba  qq农

    61

    主题

    14

    好友

    2335

    积分

    等待验证会员

    该用户从未签到

    G币
    725
    最后登录
    2016-8-2
    注册时间
    2011-3-6
    发表于 2012-1-18 00:03 |显示全部楼层
    很好!!
    禅修
    飞库小说  飞行模式有辐射吗 

    6

    主题

    20

    好友

    2236

    积分

    等待验证会员

    该用户从未签到

    G币
    617
    最后登录
    2017-2-8
    注册时间
    2010-8-18
    发表于 2012-1-18 00:22 |显示全部楼层
    支持你了
    签名怎么设置图片  微博之类的啊
    原点手机怎么样  qq萌头像

    29

    主题

    0

    好友

    785

    积分

    等待验证会员

    该用户从未签到

    G币
    180
    最后登录
    2017-10-19
    注册时间
    2011-8-18
    发表于 2012-1-18 00:40 |显示全部楼层
    支持  坐等附件和方法
    手机 nexus S手机 nexus手机 nexus手机 nexus
    htc恢复出厂设置在哪  霸王神枪下载

    1

    主题

    0

    好友

    162

    积分

    等待验证会员

  • TA的每日心情
    开心
    2016-7-5 00:16
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    G币
    318
    最后登录
    2017-1-31
    注册时间
    2009-11-30
    发表于 2012-1-18 00:47 |显示全部楼层
    必须得沙发。
    谢谢楼主做贡献
    轻松玩机拒绝强迫症
    聚同  emp导弹
    您需要登录后才可以回帖 登录 | 注册

    网上有害信息举报中心|手机版|机锋网 ( 京ICP备15063876号-5

    GMT+8, 2018-12-14 07:47

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部