Android-MTK源码开发相关
巴黎脚下
热爱互联网和移动开发
展开
-
CMCC项目拍照回预览或拍照回显的时间长
[DESCRIPTION]客户发现同一Platform同一branch的CMCC项目比CT(电信)项目拍完照回预览或者拍照回显慢很多,这是什么原因呢? [ANALYSIS]这是由于CMCC有测项要求拍照要有回显定格的时间。因此,MTK Camera APP会在Jpeg callback后delay 1.2s再下startPreview。 以MT6735为例,具体code位原创 2018-01-24 16:10:48 · 436 阅读 · 0 评论 -
拔电池掉电后重新开机,电池使用情况界面已用多长时间数据出现负数
原因:拔掉电池后会导致Battery history的一些数据丢失或者不准确,所以最后算得的“最后使用时间 mEndWallTime” 小与 “开始使用时间 mStartWallTime”,那么得到的 “电池持续时间”就会小于0.此问题是Google 原生的bug,提供解决方案如下:BatteryHistoryChart.java line 1102 添加 mEndWallTi原创 2017-11-24 11:14:53 · 527 阅读 · 0 评论 -
如何将"设置->开发者选项"这个菜单的总开关默认设置为Off”
在alps/packages/apps/settings/src/com/android/settings/DevelopmentSettings.java中的onResume()方法中将如下代码注释掉: /* if (mHaveDebugSettings && !mLastEnabledState) { // Overal原创 2017-11-24 11:12:38 · 2288 阅读 · 0 评论 -
如何在"设置->关于手机"界面添加Logo
1:在Setting的source code的src\com\android\settings文件中添加一个类LogoPreference.java文件内容如下:package com.android.settings;import android.content.Context;import android.preference.Preference;原创 2017-11-24 11:11:56 · 1183 阅读 · 0 评论 -
在法律信息中添加菜单
请在Device_info_settings.xml (alps\packages\apps\settings\res\xml)中下面部分添加,其中JASONYYY是我添加的一个菜单项,贵司可以对照修改.action部分为该菜单项对应的intent. android:key="container"原创 2017-11-24 11:10:45 · 294 阅读 · 0 评论 -
"设置--安全--未知来源“默认打开
如果要修改该默认值,对op03来说,请修改alps\mediatek\operator\op03\packages\apps\plugins\res\values\Defaults.xml中 false为 true其它情况请修改alps\frameworks\base\packages\settingsprovider\res\value原创 2017-11-24 11:08:18 · 4128 阅读 · 0 评论 -
设置——提示音和通知——铃声音量,播放时按HOME键或返回键,播放不停止
packages/apps/Settings/src/com/mediatek/audioprofile/Editprofile.java:onPause方法里面添加:"mVolumeCallback.stopSample();"原创 2017-11-24 11:07:22 · 651 阅读 · 0 评论 -
[android M]搜索参数的设置
相比于Android L使用的蓝牙协议栈blueangel,Android M使用的是bluedroid蓝牙协议栈。bluedroid搜索蓝牙设备的默认时间是12.8s,而blueangel默认的搜索时间是60s。这就造成有些时候,bluedroid搜索的蓝牙设备过少或者搜索不到某些设备的情况。 针对bluedroid的默认搜索参数可以修改如下几种方法:方法一、增大搜索原创 2017-12-27 10:58:59 · 591 阅读 · 0 评论 -
SEAndroid 解决案例
原文:http://blog.csdn.net/kongbaidepao/article/details/63254666都是从网络上摘抄的总结下来备用,有些链接丢失了通过system server service 或者 init 启动的service 读写, 然后app 通过binder/socket 等方式连接APP 访问. 此类安全可靠, 并且可以在service 中做相关的转载 2017-11-28 14:32:32 · 851 阅读 · 0 评论 -
Android APK 中启动特定的 bin 服务
原文出处:http://blog.csdn.net/jiuxiaoyunwu/article/details/51220477首先参考资料: http://www.2cto.com/kf/201412/363630.html 日前工作中遇到一个需求:要求在启动App时,启动对应的bin 服务,从而使得实现APK作为Client端,而bin 服务作为 Server端 实转载 2017-11-28 13:24:48 · 5490 阅读 · 0 评论 -
导入MTK_Android5.1源码里的Gallery2和Camera模块至Eclipse全过程
原文出处:http://www.aichengxu.com/wangluo/980053.htm由于开发的要求,需要将Android默认的Camra程序导入到eclipse中,进行修改和再开发。大家都知道,Android默认的Camera程序存放于Android的源码中,Android源码只支持使用make进行编译,若想把Camera源码导入到Eclipse中,会遇到各种不同的问题,以转载 2017-11-27 16:02:06 · 872 阅读 · 0 评论 -
解决SettingsProvider中的值读写不同步的问题
[DESCRIPTION] 因为SettingsProivder算是一个公共模块,很多属性的值都写到了SettingsProivder中,但在某些情况下时,如果写入的值,马上就在另外一个APP中去查询,发现查询得到的值还是旧的值。 产生这个问题的原因是,android在设计SettingsProvider时,所有的SettingsPovider保存的属性,如果相关ap原创 2017-11-24 11:05:36 · 1075 阅读 · 0 评论 -
设置屏幕亮度默认值为自动调节
修改alps\frameworks\base\packages\SettingsProvider\res\values\defaults.xml内的false 改为true 即可。原创 2017-11-24 11:03:31 · 791 阅读 · 0 评论 -
SYS_LAST_KMSG里的hw_status和fiq step的含义
[DESCRIPTION]SYS_LAST_KMSG这支文件是记录上次重启前最后的kernel console log,不过除了kernel console log还有hw_status和fiq step两个值。这两个值很重要,可以看出异常的类型和可能的卡死的范围。以下一一介绍这两个值:hw_status:这个值的意义是:表示重启的原因。是在preloade原创 2016-11-22 11:14:55 · 1737 阅读 · 0 评论 -
修改系统声音最大值默认值以及系统亮度默认值最大值位置
原地址:http://blog.csdn.net/codingnotes/article/details/53186122修改系统音量:文件位置:/frameworks/base/media/Java/Android/media/这里要修改两个文件:1.修改音量最大值 :修改AudioManager.java下的DEFAULT_STREAM_VOLUME值即可。转载 2016-12-05 09:43:37 · 1055 阅读 · 1 评论 -
Android源码中添加第三方jar包以及去除混淆编译问题
本文以zyt.jar 包为例进行说明1.在Android.mk 文件中添加# Added for source code compile start 为jar起一个别名LOCAL_STATIC_JAVA_LIBRARIES :=zyt #很重要,去除混淆编译,不然会导致很多类无引用的错误导致,不能通过编译LOCAL_PROGUARD_ENABLED := disabl原创 2016-11-30 10:14:34 · 2120 阅读 · 0 评论 -
显示的电池容量不对
修改framwork/base/core/res/res/xml/power_profile.xml中的 1000此处1000即可。 将该值改为实际容量值原创 2016-11-16 10:45:25 · 908 阅读 · 0 评论 -
SoundPool使用说明
app 层在使用 soundpool java 类时,通常会用到以下几个方法:Soundpool sp = new SoundPool(x,x,x); //new 一个实例sp.load(x,x,x,x);//加载对应的音源sp.play(x,x,x,x,x,x); //播放对应的音源 然而当上述方法调用之后,在 native 层其实会有一些 memory原创 2016-10-26 14:22:28 · 723 阅读 · 0 评论 -
上层应用关闭camera相关Feature
以去除语音拍照功能为例在 packages\apps\Camera\src\com\android\camera\FeatureSwitcher.java中的isVoiceEnabled 函数中,让其返回值为false原创 2016-09-22 14:32:40 · 786 阅读 · 0 评论 -
MTK平台camera菜单项,相互限制修改
在SettingDateBase中添加限制规则:例如,当选择视频为4K2K录制视频时,限制防抖动失效则可进行如下限制new Restriction(SettingConstants.ROW_SETTING_VIDEO_QUALITY) .setValues(Integer.toString(CamcorderProfileEx.QUALITY_FINE_4K2K))原创 2016-09-09 10:11:40 · 807 阅读 · 0 评论 -
进入相机,按home退出,再按camera键进入相机,需要按两次返回键才能退出问题
1.由于camera键进入方式引发的此问题,将 CameraButtonIntentReceiver的启动方式修改为 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );原创 2016-07-01 10:54:37 · 1281 阅读 · 0 评论 -
拍照各阶段耗时分析
photoMode -> cameradeviceimply-> cameramanager->camera(frameworks\base\core\java\android\hardware)->android_hardware_Camera(frameworks/base/core/jni)从ShutterButton按下到抬起再到形成照片整个过程各阶段所消耗时间如下:1.shu原创 2016-07-01 10:48:48 · 631 阅读 · 0 评论 -
深入了解android平台的jni---注册native函数
注册native函数有两种方法:静态注册和动态注册。1、静态注册方法根据函数名找到对应的JNI函数:Java层调用函数时,会从对应的JNI中寻找该函数,如果没有就会报错,如果存在则会建立一个关联联系,以后在调用时会直接使用这个函数,这部分的操作由虚拟机完成。静态方法就是根据函数名来遍历java和jni函数之间的关联,而且要求jni层函数的名字必须遵循特定的格式,其缺转载 2016-05-20 16:22:05 · 287 阅读 · 0 评论 -
在源码中的jni实现
文本以MT6753项目为例进行说明1.编写Android.mk文件 。编写自己的.c文件 将它们放到源码的development\rectpoint 目录下,其中rectpoint为自己建立的文件夹,名字可以任起。接着进到本目录进行mm编译,或者到源码根目录编译整个项目make 。编译完成后,会在\out\target\product\项目名称\system\lib 下出现自己的.so原创 2016-05-20 09:54:10 · 300 阅读 · 0 评论 -
[Android L]SEAndroid开放设备文件结点权限(读或写)方法(涵盖常用操作:sys/xxx、proc/xxx、SystemProperties)热门干货
1 现象描述基于Android L版本源码环境进行开发时,根据项目需求,APP层需要操作sys/xxx 或 proc/xxx下面的文件结点,但是会报出以下权限异常,无法直接操作这些结点LedLightFileUtil( 4671): java.io.FileNotFoundException: /sys/class/leds/green/brightness: open faile转载 2016-06-02 11:27:23 · 1165 阅读 · 0 评论 -
为系统AudioManager添加新的接口方法
转载请注明出处本位以添加控制AudioRecorder禁止使用为例进行说明整个需要添加的类均在frameworks\base\media\java\android\media 包下1.AudioManager.java中添加两个方法,设置是否可用/** * * * @hide */ public boolean getRec原创 2017-03-02 16:12:47 · 758 阅读 · 0 评论 -
Android led灯实现大致流程
ed灯的控制在http://gqdy365.iteye.com/admin/blogs/2208344中写的方法是直接通过操作led设置来控制灯的开关。这样做的问题是未按Android标准结构实现,可能存在潜在的问题,后面分析的一下灯的源码,原来Android系统里面已经提供的相关的实现。 Android系统标准的led可以通过发送通知来控制led灯,做法如下: Java代转载 2017-03-08 09:10:08 · 4987 阅读 · 0 评论 -
安卓7.0CTS测试
Cts 测试步骤以及方法如下1. 恢复出厂设置2. 设置语言为(United States)3. 打开位置服务(在有wifi或者GPS定位情况下)4. 打开一个支持IPv6的wifi(直接连接一个wifi即可),(数据流量也要打开)5. 将锁屏设置为none6. 连接usb数据线并打开USB debugging,并勾选总是连接7. Select: Settings >原创 2017-03-08 09:20:11 · 543 阅读 · 0 评论 -
更改日期时间,电池使用时间为负数
[DESCRIPTION] 用户更改日期为当前日期之前的时间时,设置--电池里面的时间统计异常 [SOLUTION] 电池电量消耗本身是基于时间来记录,与时间是强相关的,所以随意的修改时间,一定会影响到这个数值的显示。提供一个workaround的方法,就是当这个值为负数的时候,就显示为0.在BatteryInf原创 2017-11-24 10:59:49 · 470 阅读 · 0 评论 -
客制化开机Logo
[DESCRIPTION]如何更改开机的uboot logo和kernel logo? [SOLUTION] (1)对于GB2 、ICS和ICS2版本:在相应的project的如下目录mediatek\custom\common\uboot\logo中,找到与project相对应的文件夹,如qhd、wvga等,将该文件夹中的名为XXX_uboot和原创 2017-11-24 10:46:16 · 249 阅读 · 0 评论 -
系统服务JNI的实现分析
原文:http://blog.csdn.net/wtianok/article/details/49489207通过前面的几篇文章,已经将接口写到了XXXManagerService里面,下面的两篇博文将介绍怎么把接口的实现写到JNI里。SystemServer.java在前面,我提到过SystemServer.java文件。回顾一下,在这个文件中,我们通过try {转载 2017-11-30 15:02:35 · 619 阅读 · 0 评论 -
如何客制化自己的开机向导
在开发过程中,可能需要客制化自己的开机向导,可以参考如下的方案。 [SOLUTION] 可以参考一下之前敝司KK版本上的OOBE的实现,其主要有两个核心思想:1.需要将APK的主Activity的Category声明为"android.intent.category.HOME",并且设置其优先级要高于默认的Launcher。基中的优先级,可以根原创 2017-11-29 16:24:19 · 769 阅读 · 0 评论 -
如何在Recent App不显示某个应用
长按HOME键或者Navigation bar的recent key在最近应用程序列表中会显示最近访问过的应用,如何做到不显示某应用以达到隐藏进程的目的呢? [SOLUTION] 为该应用AndroidManifest xml文件中主activity设置属性:android:excludeFromRecents=“true”例如:原创 2017-11-29 14:39:10 · 1546 阅读 · 0 评论 -
Android属性系统简介
原文:https://www.cnblogs.com/l2rf/p/6610348.html1、简介 在android 系统中,为统一管理系统的属性,设计了一个统一的属性系统。每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。在编译的过程中会将转载 2017-11-28 16:48:52 · 1535 阅读 · 0 评论 -
L 预置apk
[DESCRIPTION]1, 如何将带源码的 APK 预置进系统?2, 如何将无源码的APK预置进系统?3, 如何预置APK使得用户可以卸载,恢复出厂设置时不能恢复?4, 如何预置APK使得用户可以卸载,并且恢复出厂设置时能够恢复?[SOLUTION] 一、如何将带源码的APK预置进系统?1) 在 packages/apps 下面以需要预置原创 2017-04-08 15:04:23 · 385 阅读 · 0 评论 -
Android应用框架之PackageManagerService
原文链接:https://yq.aliyun.com/articles/62977摘要: 系统在启动的时候会启动一个叫做PackageManagerService的服务,顾名思义,这个服务主要管理安装在设备上的应用程序,其中最为重要的工作就是在在系统启动之后,PackageManagerService会扫描特定目录下地以apk为后缀的文件,然后将对应的应用安装到系统中。注意,这里的安装转载 2017-03-28 11:18:02 · 391 阅读 · 0 评论 -
[FAQ13445]如何客制化LED灯亮度
[DESCRIPTION] 在暗環境,藍色閃爍通知燈非常亮,很耀眼;请问怎样将LED亮度客制化,使其变暗? [SOLUTION] 这个亮度无法客制化,只能通过修改driver code来降低输出电流,而减小亮度; 修改方法如下:(此处假设使用的是ISINK0) 修改leds.c文件 int mt_led_blink_pmic(enum mt65xx_原创 2017-03-06 09:56:43 · 448 阅读 · 0 评论 -
CTS测试步骤和命名
1.切换到\android-cts\tools 目录下执行命令./cts-tradefed当成功识别手机设备后,使用如下命令进行测试run cts -c -m -c 表示class -m 表示method 。上面表示测试给定的类的某个方法,类要加上包名 测试所有包: run cts-–plan 测试某个包:run cts–p [package原创 2017-03-06 09:34:39 · 484 阅读 · 0 评论 -
CTS Verifier测试
1.NFC测试[DESCRIPTION]第1,2,4,5项需两台有NFC机器,按照测试教程交互测试,如:测试第一项机器A点开 push Sender,机器B点开 Push Receiver,然后机器A,B背靠背测试,pass,然后在交替测试,原理是机器A模拟发送方,机器B模拟接受方第三项NDEF,需要找NFC标签贴纸,靠近后测试,等待出现 Press原创 2017-03-06 09:24:41 · 2751 阅读 · 0 评论 -
双camera同时打开
原文链接:http://blog.csdn.net/a87636764/article/details/54645350平台:android5.1 场景:双屏异显设备需求在两个屏上同时打开两个摄像头,确认可行性。 时间:2016.9.28双camera示例代码: this.mSurfaceHolder = this.sfv1.getHolder();转载 2017-03-08 13:45:30 · 6563 阅读 · 2 评论