手机需折腾,导航亦疯狂 - 广东 - 8264户外手机版

  广东
本帖最后由 了.了 于 2015-6-2 10:48 编辑

2015.6.2修订
1、增加内部储存清理的内容
2、增加实测手机gps定位效果比较

【前言】
手机性能的不断提高了,可更换大容量电池的不断出现了,手机也三防了,充电也无线了,gps、格洛纳斯、伽利略、北斗纷纷走入手机了,hotstill、 epo、agps过来帮忙,手机导航的时代也到来了;Garmin之类的专家离砖家也越来越近了。
手机是个复杂的东西,需要折腾的好才用的顺手,才能使GPS性能发挥的顺畅,本文从手机系统内核文件出发与大家共享折腾手机的心得。并不一定适合所有手机,特别是国内的著名大厂家在国内出产的手机,因为可能会被强奸的很厉害;这些心得可能比较适合原生态系统的手机;折腾手机的人需要有一定的折腾手机的基础。手机小白需谨慎尝试这些资料。只针对安卓手机的,苹果手机绕道。
因为从内核文件出发折腾,折腾手机前必须先做好以下准备
1、在电脑装好手机各种usb驱动,即 装好开机和关机各连接一次电脑所需的驱动文件;
2、在电脑搭建好jdk环境;
3、在电脑安装好winrar、apktool、notepad++、fastboot工具;
4、折腾出手机调试模式,始终以调试模式连接手机与电脑;
5、把手机成功root;

多年的多个手机山野导航经验,以及2年garmin专业机的山野经验,证明如果选对了手机,手机的导航性能好于专业机,谨以此文分享给爱好手机导航的童鞋~~

【正文】
1、开启调试模式
若无调试模式菜单,手机设置--》关于手机--》快速连续点击版本号之类的某一项三次以上,
出现提示:处于开发者模式,返回上一级出现:{}开发者选项 菜单,进入勾选usb调试模式;


2、Root手机
重启手机,调试模式连接手机,保持internet网络畅通,安装运行root精灵:RootGenius,一键root,等待数分钟或十几分钟,
期间会自动重启手机,有提示是否同意允许之类的对话框均选允许,自动安装“授权管理”软件,显示root成功;长时间无反应,
强制关掉软件,拔掉手机重启手机,再重新操作一次,若显示已root则ok。


3、进入工程模式
已root的手机才可以进入工程模式,用拨号面板按键,以下命令对部分手机可能无效;
进入通用工程模式:*#*#4636#*#*
进入MTK工程模式:*#*#3646633#*#*


4、替换/删除手机系统内置apk文件内的图片文件
1)导出apk到pc,用winrar打开apk,把winrar默认压缩选项设置为:zip格式,压缩方式为储存;
2)直接用相同文件名的新图片文件拖进去替换旧文件,或删除有关图片文件,完成后关闭winrar即可;
3)拷贝apk回原来目录前,先放在/system目录下修改权限与原文件一样后再移动覆盖替换原文件,以免手机变砖块;


5、无法使用mtp U盘模式
1)点击安装 umdf.exe、wmfdist11.exe
2)右键→我的电脑→设备管理器→选中黄色感叹号的MTP→右键更新驱动程序


6、彻底消除拍照与录像的声音
用RE打开/system/media/audio/ui,删除或移出以下文件
camera_click.ogg 拍照抓图声音
camera_focus.ogg 拍照对焦声音
camera_shutter.ogg 拍照快门声音
videorecord.ogg 录像提示音


7、替换默认壁纸
1)替换桌面默认壁纸
打开/system/framework/framework-res.apk,替换/res/drawable-nodpi/default_wallpaper.jpg
打开/system/app/launcher2.apk,替换/res/drawable-nodpi/default_wallpaper.jpg 与default_wallpaper_small.jpg


2)替换应用程序列表壁纸
打开/system/app/launcher2.apk,替换/res/drawable-nodpi/mainmenu.jpg
**注意像素大小最好保持一致


8、手工清理手机内部储存
即便是选择把软件安装在SD卡上,也会在内部储存占用一定的空间,随着手机的使用,内部空间总会莫名其妙的减少,清理手机缓存或用专门的清理垃圾的软件对内部储存空间都没多大作用,必须用手工清理才能有效,心得如下:
1)/system/vendor/overlay/framework里面有手机自带的主题,后缀为.apk,可酌情删除或移出
2)打开/system/app/launcher2.apk,/res/drawable-nodpi/内有系统自带壁纸图片,可酌情删除
3)/system/media/audio系统自带的铃声和视频,酌情删除,有四个文件夹,分别是
   alarms(闹钟铃声)
   notifiCATions(通知即包括短信铃声)
   ringtones(来电铃声)
   ui(一些应用程序操作的效果声音比如拍照等), ui文件夹里面的最好不要删;      
4)/system/media/video,这个目录是自带的几个视频演示文件,可删除;
5)/system/etc/customization/applications,/system/etc/product,系统自带的各种额外程序,删除后可重新安装
6)/cache是系统的缓存分区,时间长了可能会产生各种垃圾文件,里边内容可全部删除;
7)/data/AEE_exp是记录在开机过程中记录崩溃的日志,里边内容可全部删除;
8)/data/core,Linux的内核转储,供调试用的,里边内容可全部删除;
9)/data/log_other_mode、log、log_temp记录日志的文件夹,里边内容可全部删除;
10)当你删除某软件后,相应dex文件不会被删除,占用存储空间,清理DEX文件:dalvik-cache目录内全都删除,然后重启手机,
    重启时系统会自动生成一些必需的文件,所以会比较慢,请耐心等待;
11)/sdcard/dcim/.thumbniuls/都是相片、视频的缩略图缓存,可全删除;
12)/data/tombstone一般是由Dalvik错误、状态监视调试器、C层代码以及libc的一些问题导致的,
    并在系统创建了data/tombstones目录后把异常时的进程信息写在此目录里面,用于开发者调试,所以可以完全删除文件夹内容;
13)/data/sec/里边的都是系统启动日志文件,可全删除;
**有时以上方法都没多大作用时,可进入/data/data目录,其下每个目录代表一个安装的软件的相关各种文件,依次进入每个目录,查找凡是含有log、cache单词的目录下的东西都可以删除,凡是
含有log、cache单词的文件也可以删除,这个方法可以迅速有效的恢复内部储存空间,这些基本都是缓存和日志,但有一定风险,如果是后来安装的软件,可以大胆清理,大不了不能用了再装一次,如果是系统原有软件一定要谨慎判断,一旦不能用,就麻烦了。

9、修复图库应用
系统自带图片浏览器-图库应用程序出现不能自动搜索索引图片的异常时,且重启手机也无法恢复图库正常时,
打开管理应用,图库--》清除数据,媒体存储--》清除数据,重启手机;


10、更改储存挂载名和OTG
用re打开/system/etc/vold.fstab编辑文本,


1)在vold.fstab末尾存在或添加如下代码,是支持OTG的条件之一
diskdev_mount usbotg /mnt/usbotg aUTO /devices/platform/mt_usb /devices/platform/musbfsh_hdrc


2)按照如下可更改内外储存卡的挂载名称
dev_mount sdcard /storage/sdcard0 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_host  
含义:将系统内置存储卡挂载为/mnt/SDCARD和/storage/sdcard0
dev_mount sdcard2 /storage/sdcard1 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_host
含义:将系统内置存储卡挂载为/mnt/SDCARD2和/storage/sdcard1
dev_mount sdcard2 /storage/sdcard1 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host  
含义:将外置存储卡挂载为/mnt/SDCARD2和/storage/sdcard1
dev_mount sdcard /storage/sdcard0 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host   
含义:将外置存储卡挂载为/mnt/SDCARD和/storage/sdcard0


11、开关机音像
1)音像文件
.开机第一屏,系统内核里,刷机文件logo.bin里;
.开机第二屏,/system/media/images/boot_logo或/system/bin/boot_logo,
.开机第三屏(开机动画),/system/media/bootanimation.zip;
.开机铃声/system/media/bootaudio.mp3;
.关机动画/system/media/shutanimation.zip;
.关机铃声/system/media/shutaudio.mp3;
除了第一屏外,都可以通过删除文件来不显示开关机音像,从而加快开关机的速度,顺便可增加内部储存的空间;


2)第一屏修改
.工具包内容
LOGO映像:这里面是LOGO.BIN的线刷包
XP补丁:精简版XP系统无法安装A789驱动的补丁,mdmcpq .INF文件复制到C:\WINDOWS\INF,USBSER.SYS复制到C:\WINDOWS\SYSTEM32\DRIVERS;
A789驱动:A789的线刷USB驱动;
.用FIREWORKS或PS打开‘LOGO映像’目录下的‘备选.PNG’,修改成自己喜欢的样子,
FW修改完后用导出功能导出PNG文件,PS修改完后用存为WEB格式,选择PNG格式,保存覆盖‘备选.PNG’ 或新目标。
.用ADOBE FLASH PLAYER或IE打开‘第一屏制作工具’,点载入‘LOGO映像’目录下的LOGO.BIN,然后选替换,
找到刚才保存文件的PNG,然后点保存覆盖logo.BIN;
.取出手机电池,USB连入电脑,若电脑提示找到新硬件,则安装A789驱动,拔下手机,下面刷机保持一直都使用这个口;
.打开‘刷机工具’里Flash_tool.exe.点击SCATTER-LOADING按钮,选择‘LOGO映像’目录下
MT6577_Android_scatter_emmc.txt文件,确保下面大框中出现的一系列选项中保留LOGO.BIN的对勾,其它的全去掉,
然后点击DOWNLOAD,对弹出的安全提示点击"是".
.手机不带电池插入USB,如果这时弹出发现新硬件提示,就再安装一次上面的驱动,然后SP_Flash_Tool进度条在
几秒内就走完,然后弹出一个绿圈。这就OK了,装电池,开机,看画面。(在WIN7下面,红进度条走到头后,
如果没有弹出绿色圆圈,表示正在切换USB模式并安装驱动,只能装完驱动后重新刷一次了)


3)第二屏修改
.制作你喜欢的logo文件,像素与自己手机屏幕像素一致,存为bmp格式;
.导出手机的/system/media/images/boot_logo或/system/bin/boot_logo/system/media/images/boot_logo在电脑上;
.用Image Search Editor打开boot_logo,在软件上选择16位色彩,在软件左边竖条工具栏处选择,点击软件上右上边的BMP,选择图片格式,
点击软件最上面的十字花图标,设置图片参数为宽度(象素)高度(象素)与自己手机屏幕像素一致,然后就看到BOOTlogo的图片了;
.点击编辑选择 用BMP图片替换文件(B)... 然后提示打开,选择替换的bmp图片,点击应用确定;
.关闭软件,用新的BOOTlogo替换/system/media/images/boot_logo或/system/bin/boot_logo,并修改文件权限与原来的相同;
.替换第二屏文件后可用re打开/system/bin/boot_logo_updater,点击选择Linux脚本处理器,再点“运行”,然后会突然闪一下第二屏
再显示“修改成功”字样,退出RE管理器重启手机看修改效果了;


4)第三屏音像与关机音像修改
.直接用新的MP3、zip文件替换相应文件名并修改权限一致即可,文件大小尽量不要高于原开机动画太多,否则会造成读取慢,卡住或失效;
.系统自带bootanimation.zip、shutanimation.zip动画文件里一般有两个文件夹part0,part1,一个文本文件desc.txt,
part*里全是与手机屏幕像素匹配的PNG格式文件, dest.txt里面的参数用来控制播放
Example:
第一行   480  800   24 ;
480*800是图显示的像素,注意与手机屏幕像素匹配,24指美每秒播放多少帧;
第二行    p  1  0    part0 ;
第三行    p  0  0    part1 ;
里第一个数字1表示播放1遍,若为0表示循环播放,第二个数字0表示不停顿,若不为0则表示每播放到当前这个数字的帧停顿一下,
(以10为例,就是每播放10帧停一下),而part0/1表示播放用的图片文件夹
.自己制作zip动画文件时,可以多个part*文件夹,在desc.txt里逐一说明播放方式即可;要存为zip格式,并且压缩方式为存储,否则开机动画是播放不出来的;


12、通话界面背景修改
/system/app/Phone.apk\res\drawable-hdpi\picture_unknown.png为通话界面的背景,用相同像素大小和文件格式的文件替换;方法见4;


13、修改安卓设备主机名
在/system/build.prop文本文件的末尾添加一行net.hostname=XXXX,保存文件并重启手机,在电脑、路由器上便显示修改后的名字;
还可修改ro.build.product,ro.product.name,ro.product.device,ro.product.board等


14、系统界面与参数修改(修改framework-res.apk、SystemUI.apk)
想拥有一个完全属于自己风格的手机系统!重点就在于对"/system/framework/framework-res.apk"和"/system/app/systemUI.apk"这两个文件的修改,
原本存在与framework-res.apk中的状态栏和下拉通知栏界面控制被分割出一个单独的apk文件,命名为SystemUI.apk,保存在System/app文件夹中,
绝大多数修改"framework-res.apk"和"systemUI.apk"后导致无法进入系统,基本都是在编译跟反编译上出了问题;


1)替换修改里面的图片文件直接用winrar按照4方法
.替换图片注意事项:
图片尺寸与原来的图片大小不要相差太远,不然会造成越界问题
图片名称必须要跟原来的一致
修改完后的apk,用RE浏览器先把apk复制到手机/system目录下,把权限修改为与原目录里的一致后,去掉只读属性,
再把apk移动到相应/system/framework或/system/app目录下替换原文件,再次确认权限是否有误!


.SystemUI.apk\res\drawable-hdpi下部分图片文件说明
emo_im_xxx  表情系列图片
ic_jog_dial_xxx  锁屏界面功能图标(圆形的那些)
ic_lock_idle_xxx  锁屏界面提示图标
ic_menu_xxx  系统菜单图标
stat_notify_xxx  状态栏提示图标(屏幕左方的图标)
stat_sys_battery_xx  电池图标
stat_sys_battery_charge_animX  充电时电池图标
stat_sys_upload_animX  上载图标
stat_sys_download_animX  下载图标
stat_sys_gps_ongps  图标
stat_sys_headset  耳机图标
sym_def_app_icon  默认程序图标
usb_androidUSB  连接机器人图片
statusbar_background9  状态栏背景图标
jog_dial_bg  解锁背景图片


.SystemUI.apk\res\drawable-hdpi下部分图片文件说明
battery_low_battery  充电提示
stat_2g3g  下拉通知栏2G/3G切换图标
stat_airplane_on/off  下拉通知栏飞行模式开启/关闭图标
stat_bluetooth_on/off  下拉通知栏蓝牙开启/关闭图标
stat_brightness_auto/mid/on/off  自动调节/适中/开启/关闭下拉通知栏屏幕亮度图标
stat_data_on/off  下拉通知栏数据控制开启/关闭图标
stat_flashlight_on/off  下拉通知栏电筒开启/关闭图标
stat_gps_on/off  下拉通知栏GPS开启/关闭图标
stat_lock_screen_on/off  下拉通知栏锁屏开启/关闭图标
stat_media_xxx  下拉通知栏播放器控制图标
stat_ing_xxx  下拉通知栏声音模式控制图标
stat_orientation_on/off  下拉通知栏转屏控制图标
stat_screen_timeout_on/off  下拉通知栏屏幕超时控制图标
stat_sync_on/off  下拉通知栏同步开启/关闭图标
stat_sys_data_xxx  数据通信图标
stat_sys_no_sim  无sim卡通知图标
stat_sys_signal_x  信号图标
stat_sys_wifi_xwifi  信号图标
stat_vibrate_XXX  震动提示图标
shade_bg  下拉菜单背景
statusbar_background  状态栏背景图片


2)framework-res.apk、SystemUI.apk编译与反编译
.利用apktool工具编译与反编译,电脑需先搭建好jdk环境;
.framework-res.apk、SystemUI.apk拷入apktool目录里;
.apktool if framework-res.apk ,先安装系统框架,framework-res.apk必须是自己手机的原文件,否则导致SystemUI、framework-res回编译失败;
.apktool d framework-res.apk framework-res ,反编译framework-res.apk的内容到framework-res文件夹,用于修改;
.apktool d SystemUI.apk SystemUI ,反编译SystemUI.apk的内容到SystemUI文件夹,用于修改;
.apktool b framework-res ,把修改好的framework-res里的内容编译成新的/apktool/dist/framework-res.apk;
.apktool b SystemUI ,把修改好的SystemUI里的内容编译成新的/apktool/dist/SystemUI.apk;
.编译后的apk少了一个META-INF文件夹,这个就是apk包的签名所在,但是这新框架文件是不能重新签名的,
需要把两类文件从编译后新apk拉到编译前的apk中替换,
第一类是:刚才反编译后,你所替换过,或者修改过的所有文件,第二类是:reSources.arsc文件,
替换好后,被替换的编译前的apk就最终成品了;
.用RE浏览器先把apk复制到手机/system目录下,把权限修改为与原目录里的一致后,去掉只读属性,
再把apk移动到相应/system/framework或/system/app目录下替换原文件,再次确认权限是否有误!
一定要先修改好权限后才能放进/system/framework或/system/app,否则系统会马上挂掉;最后就是重启手机,修改完成!


3) 部分参数说明
反编译framework-res.apk,进入目录res/values,打开integers.xml文本;
lowBatteryWarningLevel 低电量提醒在百分之多少电量时开启,改为0则关闭低电量提醒;
defaultNotificationLedOn、defaultNotificationLedOff 默认通知呼吸灯开与关持续时间的代码,单位为毫秒;
notificationsBatteryLedOn、notificationsBatteryLedOff 控制低电量时呼吸灯的闪烁频率;
screenBrightnessSettingMinimum 系统最低亮度,一般默认为20,最低可以修改为8,修改过低会有bug;
screenBrightnessSettingMaximum 系统最大亮度,一般不做修改;
screenBrightnessSettingDefault 为系统默认亮度;
screenBrightnessDim 为变暗值;
回编译,将新生成的framework-res.apk中的resources.arsc(位于根目录)替换覆盖到原用于反编译的framework-res.apk中去即可;


15、调整手机音量
有的手机即便是调整到最大音量也比较小声,可以通过MTK的工程模式调大音量;
1)进入MTK工程模式--》hardware testing选卡--》audio,有多种模式下调整各种音量参数,调整前四种模式即可,模式含义如下:
Normal Mode听筒模式
Headset Mode耳机模式
Loudspeaker Mode扬声器模式
Headset loudspeaker Mode耳机扬声器模式
Speech Enhancement 语音增强
Debug Info 调试信息
Debug Session调试会话
Speech Logger 语音记录器
Audio Logger 音频记录器
2)每种模式下的声音类型type各项含义如下:
Sip  内置,可调通话音量
Sid  音符
Mic  麦克风
FMR  收音机
Sph  扬声器
Ring  来电铃声
Sph2  听筒
Media  媒体
Matv  天线信号
Systerm  系统
Dtmf  双音多频
Hifi  高保真
Notification 通知
Enforced  强制
3)level、max vol
可调节的各个音量值,level 0设置为0,最后一个level可设置为最大值-1;
level n~level 0按照从最大值递减20或15的方式设置,mic类型的level都设置为最大值-1;sid用默认值;
max vol 设置为最大值-1;


16、电脑JDK环境搭建
下载安装jdk,设置环境变量JAVA_HOME=安装目录,PATH变量添加%JAVA_HOME%\bin; ,
CLASSPATH=%JAVA_HOME%lib\dt.jar;%JAVA_HOME%\lib\tools.jar;;


17、GPS性能优化调整
1)卫星定位系统概念
.卫星定位系统
卫星系统名称            卫星数量       频点
美国gps全球定位系统       24         1575.42MHz
俄罗斯glonass格洛纳斯     24         1602MHz+N*0.5625
欧洲galileo伽利略        30          1563~1591MHz
中国beidou北斗           35          1559.052~1591.788MHz


.GPS系统启动方式
[冷启动]:以下几种情况开机均属冷启动,初次使用时;电池耗尽导致星历信息丢失时;关机状态下将接收机移动1000公里以上距离。
由于没有预先的卫星信息,GPS接收器采用类似于轮询的方法,从所有的卫星中锁定信号,这将比事前知道该搜索哪些卫星要慢不少;


[温启动]:距离上次定位的时间超过两个小时的启动。GPS接收器保存有最后计算的卫星的位置、历书和UTC时间,但内容不是当前可视
卫星的数据,接收器基于其最后的位置和历书得以大概知道当前天空中的可视卫星,从而尝试去获得当前卫星和信号并计算其新位置;


[热启动]:距离上次定位的时间小于两个小时的启动。GPS接收器保存有最后计算的当前可视卫星的位置、almanac(历书)和UTC时间,
在重启以后,GPS接收器以保存的上述内容为基础获取和计算当前卫星的最新位置。


.GPS辅助手段
离线辅助手段:
[Hot still]
利用已解调的卫星星历预测未来7天内的星历,有效期7天,时间越久准确性越差;
[EPO](Extended Prediction Orbit)
联发科(MTK)创新出的一种离线GPS辅助定位技术,事先通过网络下载30天内所有星历,每次270KB数据,有效30天,时间越久准确性越差;


在线辅助手段:
[AGPS](Assisted Global Positioning System)
一种是通过手机与移动基站实时传输星历数据,基站从辅助服务器获取数据;
另一种是手机通过数据网络连接agps服务器获取到当前卫星星历,每次4KB数据,比离线手段更精确,时效只有2小时,最多只能推演到4个小时内的;
**当长距离数百数上千公里移动后使用gps,或者长时间特别是超过epo、agps数据时效期后使用gps,都要及时更新apgs或epo的数据,
否则这些误差大甚至错误的辅助数据不利于gps定位,如果网络失效无法更新失效数据,则关闭agps或epo并清除数据反而有利于gps定位;


.精度因子
PDOP( position dilution of precision ) 位置精度因子:是指三维位置,数值范围0.5--99.9,一般小于3为比较理想状态;
TDOP(time dilution of precision )钟差精度因子:为接收仪内时表偏移误差值;
HDOP(horizontal dilution of precision )水平精度因子:为纬度和经度等误差平方和的开根号值;
VDOP(vertical dilution of precision )垂直精度因子;
GDOP(Geometric Dilution Precision )几何精度因子;
HDOP^2+VDOP^2=PDOP^2
PDOP^2+TDOP^2=GDOP^2
**锁定的卫星分布越分散,各精度因子数值越小,精度越好;


2)配置文件
/etc/gps.conf,有的手机没有,可自己加入,注意修改权限为rw-r--r--;
/etc/agps_profiles_conf.xml,与AGPS相关的配置文件;
/etc/epo_conf.xml,与EPO相关配置文件;
GPS数据输出端口的波特率:4800
**注意/etc/是被链接到/system/etc/;


3)EPO
.解析/etc/epo_conf.xml
epo_enable="yes" 是否开启EPO
auto_enable="yes" gps模块首次启动是否自动下载数据;
update_period="21600" 数据自动更新的周期,单位分钟,默认15天,21600分钟;


.星历数据文件
/data/misc/EPOHAL.DAT
/data/misc/EPO.DAT
二者共存时优先使用EPOHAL.DAT,在mtk工程模式里使用YGPS之后,EPOHAL.DAT被重命名为EPO.DAT;


.工程模式解析
进入EPO工程模式:进入mtk工程模式--》location--》location base service--》EPO
enable epo开启epo;auto download自动定期更新卫星星历数据;下载类型选http;
点击"EPO(IDLE)",会下载两个文件:EPO.DAT、EPO.MD5,前者是星历,后者包含前者的MD5值;


.手机设置开启EPO:
手机设置--》位置信息访问权限--》开启gps卫星定位并点击--》开启gps辅助,点epo设置--》开启自动下载;


.有人找到了相当稳定的HTTP下载点:
http://epodownload.mediatek.com/EPO.DAT
http://epodownload.mediatek.com/EPO.MD5
要修改默认下载地址需修改/system/framework/mediatek-framework.odex


4)解析gps.conf
NTP_SERVER=pool.ntp.org ;GPS搜星服务器,
可用的还有cn.pool.ntp.org、0.cn.pool.ntp.org、1.cn.pool.ntp.org、2.cn.pool.ntp.org、3.cn.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=suplcn.sirf.com ;supl协议AGPS服务器,很多已被屏蔽或失效,特别是supl.google.com;
SUPL_PORT=7275 ;一般通用7275或7276
手机设置--》无线和网络--》移动网络--》接入点名称,选择当前网络连接,如cmnet--》apn类型加上supl;


5)AGPS
.系统开agps:系统设置--》位置信息访问权限--》开并点击gps卫星定位--》选a-gps--》a-gps设置--》
选网络定位请求,使用网络本地和漫游,服务器模板里的可能都无效,手工在工程模式里测试并设置有效的服务器,
例如suplcn.sirf.com端口7275,或者修改/etc/agps_profiles_conf.xml增加有效服务器模板和修改有效默认服务器;


.工程模式
进入mtk工程模式--》location--》location base service--》AGPS;
gps reset w/o si_req  重置agps清除用户发起定位的请求;
enable a-gps  开启agps
cp and up switching agps两种通讯方式选择
cp 即control plane控制层,是3GPP(第三代合作伙伴计划3rd Generation Partnership Project)
定义的协议规范标准,用于信号层的协议,手机与基站实时传输辅助数据方式;
up 即user plane用户层,是通过Pre-SUPL和SUPL定义的,用于数据通讯的协议,手机从服务器活得辅助数据的方式,通常选择这种方式;
SUPL/Pre-SUPL  (安全用户层定位协议secure user plane location)用于移动电话和定位服务器之间进行通信的协议标准,
Pre-SUPL是高通和其他公司共同制定的一种简化的SUPL标准;
a-gps mode agps定位模式:
Standalone 单纯的GPS定位,不依赖移动网络、辅助服务器,只依赖原始卫星信号;
MSB(mobile base) 在手机上计算最终位置,通常选择此项;
MSA(mobile assistance) 在辅助服务器上计算最终位置;
user plane settings 用户层方式的服务器相关设置
SLP template agps服务器选择模板,在/etc/agps_profiles_conf.xml里修改和增删项目,如果没有合适的,可以手工输入服务器地址和端口;

SLP test 测试模板里选择的或手工输入的agps服务器是否有效,如果有效显示sUCCess,无效则显示failed
set id 标识gps设备方式,ipv4用ip v4地址,imsi用手机的国际移动用户识别码,一般选此项;
accuracy精度参数在重启手机后都恢复默认值22 0 0 0 ,
certificate verification 证书验证,不选;
enable lab iot test 测试项目,不选;
enable eCID 使用设备客户端标识符,选;
enable supl 2.0,默认1.0版本,不选;
allow network initiated request 允许服务器发起对设备位置定位请求,选;
allow em notification 每次进入AGPS选项页之后都会自动勾选,若使用GPS时候看到屏幕中央时不时闪过一句英文,记得把这个勾取消掉;
allow roaming 允许手机漫游时使用agps;
log supl to file 产生日志文件到/data/agps_supl/log,就是垃圾,不选;
ni dialog customization,notification timeout,verification timeout 服务器发起定位请求的通知和验证对话框超时时间(秒);
**SI模式(subscriber initiated)用户发起定位请求;NI模式(network initiated)服务器发起定位请求;
        
.解析/etc/agps_profiles_conf.xml
SLP(服务定位协议Service Location Protocol)服务器即agps服务器可选项目模板
  <!-- GOOGLE-->
  <agps_profile code="GOOGLE"  模板里项目显示格式为[slp_name]agps_profile code;
      slp_name="GOOGLE"  agps服务器名称;
      backup_slp_name_var="GOOGLE_SPL_Name"   多语言用户界面的agps服务器名称变量;
      address="supl.google.com" agps服务器地址;
      port="7275"  agps服务器端口,也可以用7276;
      tls="1"  使用安全传输协议;
      show_type="0"  0该项在手机设置和工程模式模板都显示,1该项只在工程模式模板显示,2该项根据当前系统来判断显示与否;
  />
  <agps_conf_para
    agps_enable="yes"  开启agps
    ca_enable="no"  up方式下的证书验证
    cdma_agps_preferred="0" 当cdma与wcdma网络都有效时优先使用哪个,0优先wcdma,1优先cdma,2强制使用cdma
    cp_auto_reset="no" cp方式下是否自动重置数据流;
    cp_gemini_pref_sim="1" cp方式下多SIM卡时,优先使用第几个卡,1~4可选;
    cp_up_selection="up" 选择agps使用cp还是up方式,通常为up;
    default_cdma_profile="CDMA1" 在cdma下,设备首次启动设备默认使用的agps服务器模板项;
    default_profile="GOOGLE" up方式下设备首次启动设备默认使用的agps服务器模板项;
    disable_after_reboot="no" 重启设备后是否关闭agps;
    ecid_enable="yes" up方式下是否使用设备客户端标识符;
    gpevt="no" 是否开启GPEVT消息预报功能
    log_file_max_num="10" up方式下最大的日志文件数1~100,储存位置/data/agps_supl/log
    ni_request="yes" up方式下,是否允许服务器发起对设备位置定位请求;
    notify_timeout="8" up方式下,通知类型的对话框显示的最长时间,对应工程模式下NI dialog notification timeout;
    roaming="yes" up方式下,是否漫游时使用agps;
    si_mode="mb" up方式下,用户发起定位请求的定位模式,对应工程模式a-gps mode,mb=msb,ma=msa
    supl_version="1" up方式下,supl协议版本
    verify_timeout="8" up方式下,验证类型的对话框显示的最长时间,对应工程模式下NI dialog verification timeout;
  />


6)打开hotstill辅助定位模式
进入mtk工程模式--》location--》YGPS-->information--》点击enable hotstill,重启手机
  
7)清理日志垃圾
.每开一次gps都会自动生成 一个 /data/misc/gpsdebug.log.*文件,进入mtk工程模式->Location->YGPS->NMEA LOG, 把 debug 关了即可,一共有三项dbg2*;
.禁止产生手机储存根目录下的gps.log,进入mtk工程模式->Location->YGPS->information,关闭gps.log;
.工程模式下,mtk工程模式->Location里的含有产生log的各项都选择禁止;



【附件】
本文涉及的工具和文件附件
已加入suplcn.sirf.com模板,可在手机设置里显示的agps配置文件;

可把apk在调试模式和数据线下通过电脑直接安装到手机SD卡,节省内部储存空间;









导航软件,含自制配置文件和光标;导入配置文件后修正各文件路径与自己手机匹配即可:
与导航软件匹配的gps工具:




===============================================================
说得天花乱坠,光有菜谱没有菜也只是纸上谈兵,推荐一款自用的性能功能价格比自认为不错的名不见经传的户外手机。

lemhoov L15

我用过多种导航手机,也折腾过专业导航手持机garmin oregon 550,发现如果买对了手机,手机导航性能和通用易用性功能丰富性都好于专业手持机。手机价格却比专业机便宜得多,目前专业机的优势仅仅在于电池的通用性易更换性,因为电池用5号AA电池,哪都可以买到。

领虎lemhoov L15特性:
1、IP68级三防(防水防尘防震);
2、3800mha可拆卸电池,参数里写3000mha,买来的是已升级3800mha的,满电飞行模式下导航并记录轨迹,可坚持约15小时;
3、双卡双待,sim1支持联通3g移动2g且支持直拨视频电话,sim2只支持2g;
4、带硬件对讲机功能,可以与普通山野对讲机通话,控制软件的功能与普通山野对讲机基本功能相似,3-5公里传输距离,天线容易拆卸;
5、手机大小是带硬件对讲功能的三防手机里最小的,146*76*18mm,手机外观手感不错,样子也算酷了。
6、八核cpu,1G RAM,4G ROM(1G内部储存空间,1.75G手机储存),支持最大32g SD卡,最大有点是这个手机设计得把软件能放在SD储存卡里,所拍的照片录像也能选择自动放在储存卡里,而不是一般手机那样放在空间紧张的手机储存里,即便储存卡的空间再大也是没实质作用;
7、虽然参数里是200万像素前置摄像头,800万后置摄像头,我买到手的是升级到前置500万后置1300万;带双led灯,亮度还算不错。
8、otg(用otg线接u盘、鼠标、键盘、给别的5v设备充电)、nfc、wifi、蓝牙4.0、fm收音机、gps+agps、支持usim(与移动的usim兼容性不好)、无线热点、usb共享/蓝牙共享网络、罗盘传感器、重力传感器、距离光线传感器、心率传感器、sos硬件一键拨号求救,
支持无线显示设, 硬件功能算是够齐全了,
9、没有气压传感器、温度传感器、红外线,气压和温度传感器常用来脱离gps计算海拔高度,为gps校正海拔或gps信号不好时矫正海拔,气压方法测量海拔误差大,没多大实用价值。红外线口现在一般用来通过软件控制遥控电器,可以几十块买一个红外头插在耳机孔实现。
10、gps与电子指南针性能实测不错,比较准确和灵敏,但只支持美国的GPS系统,不支持欧洲伽利略、俄罗斯格洛纳斯、中国北斗导航系统,不过这几个系统目前都没有美国gps完善,导航都是以美国的为主,有其他系统存在也是辅助作用。
11、电话拨号和拨号记录界面,自动显示拨号归属地,自动把号码分割成 区号或1xx空格xxxx空格xxxx的易阅读形式
12、原生态安卓系统,没有预装的垃圾和强奸软件、系统干净,用root精灵就可以一键把这个手机root了。
13、缺陷:充电防水塑胶孔和耳机防水塑胶孔都偏小,一般常用的数据线microusb头和耳机插头的塑胶套显得偏大,插不到位,要自己用刀片把插头的塑胶切掉一点才能插到位
14、我在淘.宝买到手的全新标配(电池、对讲机天线、说明书、充电器、小螺丝刀、含麦的耳机、OTG线、数据线)+一原装电池+一保护膜才1130元;

之这东西是对讲机+导航+三防+功能较齐全的手机+可更换大容量电池,性价比没得说的,一块满电的电池支持一天十几小时的徒步导航没问题,再备用一块满电电池以防连续使用更长时间,带上移动电源,晚上露营三四小时就可把电充满,可第二天继续导航,就可支持几天的长线徒步了,如果更长时间的徒步,带上便携防水太阳能电池板充电器(约600克,200多块钱就可买到)白天放在背包外面晒太阳给移动电源充电即可。

==================================
以上面的手机为例说明开机进入各种刷机模式;所有模式的操作都只用到三个按键:电源键、音量+键、音量-键;
1、概念
1)手机刷机相关的分区:system,recovery,boot,splash1,hboot,radio,userdata,cache
  system:系统分区.我们刷机器一般就是刷的这个分区;
  userdata:数据分区;
  cache:缓存分区;
  recovery:Recovery分区;
  boot:存放内核和ramdisk的分区;
  hboot:这个是SPL所在的分区.很重要哦.也是fastboot所在的分区.刷错就真的变砖了;
  splash1:这个就是开机第一屏幕了;
  radio:这个是无线通讯所在的分区;
2)双清:是指清除数据和缓存区;
3)三清:双清+选择格式化内存卡;
4)手机任何情况下,包括死机按键全无反应,按住电源键10秒以上,手机自动强制重启;
5) 刷系统前,先双清或三清;

2、工厂模式
1)进入方式:关机--》按住音量-键--》再按住电源键--》一直到屏幕有显示松开二按键--》进入工厂模式菜单;
2)操作:音量-键轮询选择各项,电源键为确认选择键,音量+键为从子菜单返回上一级菜单;
3)主要都是测试功能和信息;
4)清除emmc项:是指清除手机内存卡的所有数据,即清除缓存和安装的应用程序,等同恢复出厂状态;就是以前刷机的三清,现在汉化合三为一;

3、bootloader模式
1)进入方式:关机--》按住音量+键--》再按住电源键--》一直到屏幕有显示松开二按键--》进入bootloader模式
2)操作:音量+键轮询选择各项,音量-键为确认选择键,分别进fastboot模式、recovery模式、正常启动

4、recovery模式
1)进入方式:进入bootloader模式--》音量+选择recovery mode--》音量-确认选择--》出现安卓图标后,按电源键--》进入recovery模式菜单;
2)操作:音量-键轮询选择各项,音量+键确认选择,子菜单里有../或明确表示返回上一级的菜单项,选择并确认就可以返回上一级菜单;
3)主要选项说明
   .wipe cache partition-->wipe data/factory reset双清恢复手机出厂状态;
   .apply update from sdcard从sd卡中选择zip格式的刷机包安装系统升级或修改或应用软件;
   .apply update from adb用数据线连接到电脑,用fastboot工具包里的adb,
    用命令adb sideload *.zip刷存于电脑上的zip格式的刷机包安装系统升级或修改或应用软件;;
   .apply update from cache从/cache目录里刷zip格式的;

5、fastboot模式
1)进入方式:进入bootloader模式--》音量+选择fastboot mode--》音量-确认选择--》出现安卓图标后,按电源键--》进入fastboot模式菜单;
2)fastboot工具使用
.adb devices 查看当前成功链接了哪些设备;
.fastboot erase <分区名>,删除各分区数据;
.fastboot flash <分区名> <*.img格式刷机包>,为各分区刷相应img格式分区包文件;
.fastboot update <*.zip>,用zip格式的刷机包文件刷机;
.fastboot flashall  相当于'flash boot' + 'flash system',在当前目录中查找所有img文件,将这些img文件烧写到所有对应的分区中,并重新启动手机;
.fastboot flash splash1 <开机画面刷机包文件>修改开机画面第一屏;
.fastboot reboot 重启手机;
.fastboot reboot-bootloader 重启手机到bootloader模式;
.fastboot刷机流程
fastboot erase system
fastboot erase boot
fastboot erase cache
fastboot erase userdata
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata data.img
fastboot reboot
====================续转5楼=================
大神砖家,没文化怕怕,还是带队我们跟。
果然很疯狂,看得头晕眼花
好厉害的样子,虽然没看懂,看来需要手把手的教
本帖最后由 了.了 于 2015-5-31 16:29 编辑

mtk工程模式下YGPS的四屏信息:
1、第一屏
.绿色圆圈:已经成功接受信号的卫星在天空的分布的相对位置,数字为卫星编号;
.红色圆圈:星历中预计编号的卫星在天空中预计的分布状况;
绿色柱状:已接受卫星的信号强度,上面数组为信号相对百分比值强度,下面是卫星编号包括星历中预计能收到信号的卫星的编号;
2、第二屏:
.TTFF 打开gps后第一次锁定卫星成功定位所用的时间;.date、time打开gps后第一次定位时的日期和时刻;
.first latitude、first longitude首次定位时的经纬度坐标;
.latitude、longitude当前的经纬度;
.altitude:海拔高度(米);
accuracy:当前精度;
.bearing:当前行进方向的方位角;
.speed:当前速度;
.distance:开gps后行进的距离;
.hot、warm、 cold:热、温、冷启动gps;
.full :清除星历信息;
.disable hotstill:表示已打开hotstill功能;
.enable gps.log:表示已禁止产生gps.log文件
3、第三屏
.start、stop:开始与停止显示当前卫星原始数据NMEA的信息;
.enable dbg2……表示已禁止产生各种记录文件,参加相关上文;
.JAM scan 20:干扰扫描20次;
4、第四屏:gps测试
.times:测试链接gps的次数;
.interval:每隔多少秒重新连接gps测一次;
.need 3d fix:需要3D 修正;
.current times:本轮测试中,当前已累计测试的次数;
last TTFF:最近一次首次定位所用的时间;
mean TTFF:平均首次定位所用时间;
.reconnect count down:离下一次重新连接的倒计时;

============
5、GPS_Status_&_Toolbox_Pro_v4.3.78屏幕
.绿点、绿条的含义与Ygps第一屏同;
.箭头线:表示真北与真南 ;
.原点线:表示磁北与磁南 ;
.错误(米):当前精度;
.fix/sats:已锁定卫星数量/星历中预计卫星数量;
.俯仰/滚动:水机水平放置时,X、Y方向上的倾斜坡度,单位:度;
.磁场:当前磁场强度磁偏角等参数;

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

lemhoov L15手机对讲机界面 .功率:有高、低设置;
.GBW:增益带宽面积,12.5khz或25khz,
.优点是发送与接受的频率、哑音值都可以分别设置,发送通话的PTT键有软件按钮也有手机侧边硬件按钮,使用方便有冗余。一般对讲机发送和接受的参数都是相同的,不能分别设置;

=======================
实际gps定位效果:
以上述lemhoov手机为例:打开gps模块,打开agps、epo、hotstill,成功定位后,关闭gps模块,agps、epo、hotstill也跟随关闭,隔三四天,按照上次同样方式打开gps,手机在阳台处和离阳台约1米的屋内窗口处均能10秒左右定位,阳台处搜到5-6颗星,屋内窗口处搜到3-4颗星,pdop精度参数均小于3,以前用过的garmin oregon 550,无论怎么折腾,在阳台处最快二三分钟才能定位,只搜到3-4颗卫星,在屋内窗口打死都无法定位。

不是厉害,是字儿多,这个手把手真没法教,面壁一年或许能悟出来
好大的信息量啊.......................
大师
果然真大神,有看没有懂,想动手手机又不适合折腾。。还是乖乖排队等人领走得了。。。精支楼主,写得这么详细。有条件的建议可以试试,哈哈

试试吧,蛮好玩的,折腾的效果就是:俺的手机第一天定位后,关闭gps,第二天在同一地方附近周边,卫星信号良好的地方开gps,10秒内可定位;
老男孩的新玩具
发表回复 关闭 发送

您需要登录后才可以回复登录