宏-新项目物理按键不能用

这几次移植代码的时候,经常发现三个物理按键不起效果,后来发现是快捷手电筒引起的。解决的思路很简单,就是把快捷手电筒关掉,解决方法有两个

1.把宏关掉。这个操作起来稍微麻烦一些,因为你关掉了宏以后,还必须重新编译,而且,因为可能有patch,所以你要关好几处的宏.如下

1)关掉ProjectConfig.mk.global中的宏

[email protected]7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25$ cd mediatek/config/common/
[email protected]-MS-7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25/mediatek/config/common$ ls
audio_policy.conf  autoconfig  configs  custom.conf  fstab  fstab.fat.nand  fstab.nand  media_codecs.xml  meta_init.rc  ProjectConfig.mk  ProjectConfig.mk.global
[email protected]-MS-7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25/mediatek/config/common$ vim ProjectConfig.mk.global

#################################################################################
#################################################################################
##                         vanzo default UI customize                         ##
#################################################################################
#################################################################################
AUTO_ADD_GLOBAL_DEFINE_BY_NAME_UI=VANZO_BEAUTYFACE_SUPPORT

#superuser for vtrunk
VANZO_VTRUNK_SUPERUSER_SUPPORT=no

# disable Notpad feature
MTK_NOTEBOOK_SUPPORT=no

#add funui marco
VANZO_BEAUTYFACE_SUPPORT = yes
VANZO_CAMERA_WIDGET_SUPPORT=yes
VANZO_COOEE_UNI_LAUNCHER_SUPPORT=yes
VANZO_CUSTOM_DEFAULT_LOCKPAPER_SUPPORT=yes
VANZO_DROPZONE_DEFAULT_OPEN_SUPPORT=yes
VANZO_MUSIC_WIDGET_SUPPORT=yes
VANZO_NET_SPEED_SUPPORT=yes
VANZO_OOS_BROWSER_SUPPORT=yes
VANZO_OOS_CAMERA_UI_SUPPORT=yes
VANZO_PUTAO_CONTACTS_SUPPORT=yes
#让它的值为no(关闭)VANZO_QUICK_TORCH_SUPPORT=no

2)打入patch,也就是执行

[email protected]7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25$ ./makeMtk listp

然后你查看是不是在patch中有对这个宏进行的操作,我们发现有这样两条记录

./config/vanzo6752_lwt_kk/ProjectConfig.mk:1706:VANZO_QUICK_TORCH_SUPPORT=yes
./config/vanzo6752_lwt_kk/ProjectConfig.mk.global:188:VANZO_QUICK_TORCH_SUPPORT=no

也就是说,这个宏重新在patch中打开了。我们手动把他们关闭

3)重新编译

这时候可以通过./makeMtk r dr 来快速编译

2.还有另外一种方法

关闭宏,说到底还是为了关闭快捷手电筒,所以我们可以在代码中强制关闭

[email protected]7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25$ cd frameworks/base/policy/src/com/android/internal/policy/impl/
[email protected]-MS-7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25/frameworks/base/policy/src/com/android/internal/policy/impl$ ls
BarController.java                  keyguard                OosGlobalActions.java           RecentApplicationsBackground.java        torch                      WindowOrientationListener.java
DrawGestureView.java                MainWindowView.java     package.html                    RecentApplicationsDialog.java            UnreadMessageView.java     WindowScrollLayout.java
EnableAccessibilityController.java  MissCallView.java       PhoneFallbackEventHandler.java  ShortcutManager.java                     WindowClockManager.java    YiYunMusicHelper.java
GlobalActions.java                  MusicHelper.java        PhoneLayoutInflater.java        SmallWindowView.java                     WindowClockView.java
GlobalKeyManager.java               MusicUtils.java         PhoneWindow.java                SmartWindowUtils.java                    WindowEventView.java
IconUtilities.java                  MusicView.java          PhoneWindowManager.java         SystemGesturesPointerEventListener.java  WindowGestureManager.java
ImmersiveModeConfirmation.java      NotificationsView.java  Policy.java                     TimeDateView.java                        WindowGestureView.java
[email protected]-MS-7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25/frameworks/base/policy/src/com/android/internal/policy/impl$ vim PhoneWindowManager.java 

修改PhoneWindowManager.java代码

        if (FeatureOption.VANZO_QUICK_TORCH_SUPPORT) {
            mWindowTorchManager = new WindowTorchManager(context);
        }
//更改为
  if (false) {
            mWindowTorchManager = new WindowTorchManager(context);
        }  

也就是所有用到FeatureOption.VANZO_QUICK_TORCH_SUPPORT 的地方,都用false替换掉

3)烧录

执行

[email protected]7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25/frameworks/base/policy$ ls
Android.mk  src
zhangshu[email protected]-MS-7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25/frameworks/base/policy$ cd ../../..
[email protected]-MS-7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25$ ./makeMkt mm frameworks/base/policy
bash: ./makeMkt: No such file or directory
[email protected]-MS-7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25$ ./makeMtk mm frameworks/base/policy

然后push 进去就行了

[email protected]7817:~/PROJECT/PROJECT_V5/52_kk_qhd_k25$ adb push out/target/product/vanzo6752_lwt_kk/system/framework/android.policy.jar system/framework
时间: 2024-10-12 23:21:06

宏-新项目物理按键不能用的相关文章

彩扩机项目--两个状态指示灯,巧妙的使用二极管的特性,以及物理按键的滤波

对于物理按键,按下和弹起时,会发生较大的电源波动,从而使得后面的三极管产生波动,使用电阻和电容可以将电压得变化变平缓. 左图是没有使用电阻和电容滤波,按键产生的电压波动.右图是使用电阻和电容滤波后的电压.通过调整电阻和电容的值可以改变图示时间t,一般选取时间为5us 因为散热马达转动时,红色LED亮,所以红色LED和散热马达并联. 为了使红色LED灯亮,而绿色LED灯灭,使用了一个二极管,当二极管导通时,绿色LED灯两端电压为1.7V,不足以点亮绿色LED.

cocos2dx3.X项目重写(二)新的物理引擎

新的物理引擎叫physicsBody 创建物理scene auto scene = Scene::createWithPhysics(); 添加调试信息 这样可以让刚体附加方框显示出来 scene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL); 创建边界框 void Stage::addEdgeBox() { auto visibleSize = Director::getInstance()->get

添加自定义字体和物理按键

LittlevGL 添加自定义字体获取字库 ttf 文件可以从一些网站上获取字库文件,比如请注意字体许可证 生成源文件使用 LittlevGL 提供的字库文件转换工具,将 ttf 字库文件转换为源文件.将生成的源文件添加到 LittlevGL 工程中,添加以下代码声明字体:extern lv_font_t my_font_name; 1或者 LV_FONT_DECLARE(my_font_name);1源代码中使用这个字体可以: style.text.font = &my_font_name;1

Android系统移植与调试之------->增加一个双击物理按键打开和关闭闪光灯并将闪光灯状态同步到下拉菜单中

最近有一个客户有这样的需求: 1.在[设置]--->[无障碍]中添加一个开关按钮. 如果打开开关的话,双击某个物理按键的时候,打开闪光灯,再双击该物理按键的时候,关闭闪光灯. 如果关闭开关的话,双击该物理按键的时候,不做任何处理. 2.打开关闭闪光灯的状态,在下拉菜单中也要同步. 如下图所示的效果: 当打开上面添加的开关后,如果双击POC键(POC键是我们公司自定义的一个物理按键)的时候,就打开闪光灯,并将下拉菜单中的闪光灯图标点亮,如下图所示 如果再次双击POC键(POC键是我们公司自定义的一

准备在新项目中使用pgsql

pgsql大象数据库 是我最近在关注的一款开源数据库,可以自由修改,没那么多限制,准备在新项目中使用 http://blog.163.com/[email protected]/blog/static/16387704020141229159715/

关于导入新项目的问题——项目文件有错,但是子文件没任何错误的解决办法

在我们学习和工作的时候,有时候将别人的 Project 导入到自己的开发工具时,总是会有莫名其妙的奇葩错误, 就是明明项目里面的代码和类都没错,但是项目文件夹上有一个红色的叉叉,今天我就给大家来说说关于这类错 误的解决办法,我就故意导致项目报这个异常,一步一步演示给大伙看,希望大家在以后遇到这类问题可以迎刃 而解 错误示例图: 我们可以看到上面截图,除了项目文件,其他都没任何错误,可是在console没有异常告诉我们,我们该怎么解 决呢?其实很简单,下面看我演示: 打开红色方框这个选项,里面就是

cocos2d-x3.2创建新项目失败的一种可能性(cygwin自带的python2.6被抢先执行)

之前一直使用cocos2d-x2.2写游戏,写了几个游戏后,想尝试下3.x版本的新功能,就下载了cocos2d-x3.2版本. 参照官方文档的说法,cocos2d-x3.x版本需要python2.7环境支持,python2.6以及python3.x版本都不行,所以特意去python官网下载了2.7.8版本,安装好后进入目录: cocos2d-x-3.2\tools\cocos2d-console\bin 执行命令: python cocos.py new HelloCpp -p com.hell

换新项目的痛与乐

在offshore项目待了一年多,终于申请上了国内项目,来之前一直觉得国内项目好,锻炼人,但是任何事情都有痛与乐,今天就聊聊在一个新项目上的痛苦与快乐. 痛苦 全新技术栈.技术上,国内项目没有offshore项目与时俱进,基本上全是Java技术栈,分前端,后端,Devops几种角色(只是开发方面).作为一名自称后端程序员,熟悉掌握Java基础是最重要的,但一年多没碰过Java的我,在这方面还是显得力不从心. 出差.国内项目上的出差机会还是很多的.当时申请上国内项目的时候也申请去北京出差,来之前觉

从零开始的Android新项目1 - 架构搭建篇

记录一下新项目的搭建. 试想一下,如果没有历史负担,没有KPI压力,去新搭建一个项目,你会怎么设计和实现呢? 本系列文章不是教你怎么从0开始学Android,从0开始怎么建一个项目,而定位于零负担的情况下,在2016年怎么去创建一个好的Android项目,其中一部分技术并不太适合刚入门的初学者. Application specific 类似clean architecture,分为三层 presentation - data - domain. 关于Clean Architecture由于国内