- 博客(25)
- 收藏
- 关注

原创 Android清除所有应用的缓存(包括系统应用)的两种实现方法
首先创建一个包,名称是android.content.pm,必须是这个名字,IPackageStatsObserver是不关联代码的,在源码里找不到的,必须手动写
2017-04-16 17:39:37
10230
原创 google 5.0 leanback的开发与应用
当前各大Tv apps的design都是依据google自带的leanback进行开发,与手机端Google Material Design都是不同的设计模式leanback需要android5.0以上的支持哦,如果你的系统是4.4,那就只能自己从头开发啦,smart TV的预制apps,很多都要符合4.4或4.0的运行标准,我做的TV启动器和多媒体都也要兼容到4.4的版本...
2019-04-25 16:57:14
1656
原创 OTA系统包的制作和测试方法
OTA有两种制作方案:整包升级,以及差分包升级整包升级:完整的升级文件aosp_XXXX_XXX-ota-01.20.010.00.00.zip差异包:将第一个ota整包升级包和第二个ota整包升级包,执行 ./build/tools/releasetools/ota_from_target_files -i A B name就得出最终的差异包,比整包要小很多整包产生...
2019-04-25 16:22:13
2158
原创 智能TV,遥控的频繁操作产生的问题的解决方案
和手机端一样,快速地按下会产生很多事件和执行,但是TV端相对于手机端,性能要差很多,另外遥控按下的速度普遍比手机端要快,遥控是红外,灵敏度更高所以在实际操作中有很多的应用场景都有这个问题,特别是操作大IO,容易OOM的执行代码所以在解决这类问题时,使用一个算法和一个关键词就可以完美解决了”synchronized“同步关键词,在处理数据较多的,大io的方法里进行synchroni...
2019-04-25 15:56:14
1711
原创 system系统级app签名注入系统安装
1.当AndroidMainfest.xml写入了sharedUserId="android.uid.system",以及把应用放进/system/app或更高权限的/system/priv-app,那么应用就是系统级的app了,但是直接作为apk形式放进去当然是不行了啦2.data目录的用户级应用是可以直接安装,但是系统级应用需要当前的andorid系统的签名只要在cd到当前到apk目录...
2019-04-25 15:34:12
2187
原创 android.mk 添加引用依赖
在系统里的项目编译都需要懂得android.mk的修改,最常见的就是添加引用依赖include $(call all-subdir-makefiles)LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optional开头必写,是当前项目的路径位置LOCAL_STATIC_JAVA_L...
2019-04-23 15:53:14
5122
原创 framework PhoneWindowManager.java代码全面剖析
一般对于开发者来说,只需要看两个方法即可 public int interceptKeyBeforeQueueing(KeyEvent event, int policyFlags)public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags)看名字就知道,在执...
2019-04-23 15:45:14
4703
2
原创 原生浏览器Browser不能下载的破解限制
因为原生浏览器Browser3需要有SDCARD或虚拟分区才能进行下载原因在于Browser3调用过了DownloadProvider,DownloadProvier不允许下载private static Intent buildViewIntent(Context context, long id) { final DownloadManager downManager...
2019-04-23 15:32:35
3080
原创 Browser3常用配置修改
1.修改设备识别:string.xml <string-array name="pref_content_useragent_choices"> <item>Default useragent</item> <item>Desktop useragent</item> <...
2019-04-23 15:15:46
2336
原创 解决Browser3原生浏览器的闪退问题
AndroidMainifest.xml里修改 <application android:name="MBrowser" android:label="@string/application_name" android:icon="@mipmap/ic_launcher_browser" ...
2019-04-23 15:04:30
2969
原创 linux下调试修改安卓android系统
查看内存情况dumpsys meminfologcat 查看D logcat*:D, 查看E ,logcat *:E查看磁盘内容 df -f重启到复位 reboot recovery预制系统APPcp -rf mnt/xxx/name/xxx.apk system/app/pm install system/app/xxxreboot获取系统属性getprop...
2019-04-23 14:47:28
2905
原创 build.prop所有属性全面剖析
build.prop是设置安卓系统的最核心内容,包括sdk,语言,时区,系统密度,虚拟机的参数。这些是系统必须的,如果是自己预制系统,也可以往里面写入系统属性,"ro"前缀是可读使用runtime.getruntime().exec就可以获取对应的属性名了,在linux里,getprop是获取这些系统属性的命令所以获取属性可以使用runtime.getruntime().exec("get...
2019-04-23 14:30:07
2668
原创 Android海外应用和安卓源码的多国语言翻译
前言:目前翻译只有baidu能直接进行调用,但是baidu支持的语言太少,无法支持对google play下发布的海外应用要求的多个翻译,而且网上说的Android Studio的翻译插件,经过体验后是已经失效了解决方法:使用google翻译和微软翻译的Api,对于翻译较多的海外应用或安卓源码系统,使用这个就非常有必要了.关注我的blog,马上附送自己做的android翻译专家,用ja...
2019-04-23 09:19:56
3047
原创 安卓预装GMS出现位置信息服务的警告
1.由于GMS要求打开位置信息服务,所以关掉总是有警告出来,因此必须要把服务打开2.如果默认的位置信息又打不开,那怎么办呢?具体修改如下frameworks\base\packages\SettingsProvider\res\values\defaults.xml<string name="def_location_providers_allowed" translatabl...
2019-04-23 09:03:30
2903
原创 android linux层获取system目录等权限,可读写保存
一般来说获取权限是chmod 777获取最高权限,但android linux的操作里还是不能够写入程序的,今天分享一个最暴力最简单的方法,mount -o remount,rw /system ,大部分文件和目录都可以通过这个命令进行读写操作,不用再担心权限不够了...
2019-03-01 17:53:51
3291
原创 java后台apache与手机端进行连接
1.首先对电脑和手机都要连接到同一个网络,保持IP地址是同一个网络2.有些电脑需要关闭电脑的防火墙3.手机网址输入192.168.xxx,xxx:端口号,一般是8080,就能看到apache的目录了...
2019-03-01 17:49:46
2768
原创 删除和添加android系统语言选项
在根目录的打开 \build\target\product\languages_full.mk 和\build\target\product\locales_full.mk,一般来说都是改成两个文件是同步的。语言参考Arabic, Egypt (ar_EG) 阿拉伯语,埃及Arabic, Israel (ar_IL) 阿拉伯语,以色列Bulgarian, Bulgaria (bg_BG...
2019-03-01 17:33:46
3946
原创 android系统预装谷歌商店谷歌整套的通用适配方案
为什么很多开发者都只能使用google安装器或别人家的集成包呢?这样做风险很大,而且对很多设备不适配,经常会出现报错等问题,更重要的是google各个组合APK相互都不适配,所以最后都用不了,针对这些问题,我定义了一个通用的万金油方法:1.打开 https://github.com/opengapps/arm/tags?after=20180516 这个是openapps,已经集成了全套的ga...
2019-02-26 21:51:50
5153
8
原创 Android TV添加遥控按键的整体流程方法
1.Android事件传递是从kernel开始传递,由遥控红外发送给按键板子,然后进行事件解析,遥控最后会解析到是那个遥控按键2.kernel把事件再传递到framework,那么就去到PhoneWindowManager.java,这是核心的管理上层的事件文件,还有一个是WindowManager.java,那么所定义的按键就可以在这里进行全局设置逻辑了。3.因为在kernel定义了按键...
2019-02-26 21:36:56
7977
原创 第一款用Android原生代码制作商业游戏的人,厉害!
第一个Android原生代码制作商业级别的手机游戏,难度极大,上线于Taptap,豌豆荚等阿里旗下平台.他开源的代码在 https://github.com/fimy999/ShitGame-using-android-code豌豆荚: http://www.wandoujia.com/apps/com.huquanhui.marksman TAP TAP: https://www.t
2017-11-22 21:46:00
3688
原创 Android Studio的极速运行gradle编译apk最全攻略
在2017年真没有人还在用xp 32位吧?也只有我用了,因为某些功能不支持eclipse,我被迫转到Android Studio,发现并没有大家说的好用,github的项目都是as形式的,当然也可以转到eclipse,但有些新特性转过去也用不了,因为google已经不再支持eclipse了.回归正题,我运行as卡死了,于是查了一些资料和总结的经验,分析出最高效的优化方法1.
2017-05-03 18:58:50
1959
原创 Android学习书籍及网址资源品鉴,免费分享给大家建议和书评
强烈声明:不看开发文档就当你没学过吧,当然除了C语言等语言外,书籍:新手篇:现在没新手了,建议新手不要学Android了,如果是JAVA就去学EE吧疯狂Android讲义:讲得很全面,800多页,但只讲到一些基本的知识,但讲得很系统,最大的缺点就是太旧了,跟不上时代潮流,最新的知识都没有第一行代码:比疯狂Android要容易些,讲得也比较有趣,也没有繁杂的论述文字,跟紧时代潮流,例
2017-04-16 19:19:28
1481
原创 android调试模式的操作技巧,调试BUG极快呀
android调试模式开启步骤:1.设置断点,在目标行双击左面的提示栏,即可设置断点,或ctrl+shift+b2.右击项目,选debug as->android application或直接f11,还可以在DDMS设置调试模式.选中目标APP,然后点击虫子图标就可以了实践操作:1.:[1]快捷键(F8)直接执行程序,直到下一个断点处停止。[2]快捷键(F5)单步执行程序,
2017-04-01 12:44:18
3911
原创 android里View设置Gravity的深度解析之位运算
在阅读别人的源码时,有时发现,在代码中view.setGravity中,参数可以是Gravity.Left+Gravity,Top,看上去确实没毛病,但仔细想想,为什么可以这么定义呢?看了源码查了资料,现在就可以得出结论了:1.此处采取位运算的形式,将值转化为二进制,通过计算机原理,1为true,0为false.不懂搜索百度:位运算,补补基础2.android文档参考方便研究:http:/
2017-04-01 12:38:07
2939
原创 android里View设置Gravity的深度解析之位运算
在阅读别人的源码时,有时发现,在java代码中view.setGravity中,参数可以是Gravity.Left+Gravity,Top,看上去确实没毛病,但仔细想想,为什么可以这么定义呢?看了源码查了资料,现在就可以得出结论了:1.此处采取位运算的形式,将值转化为二进制,通过计算机原理,1为true,0为false.不懂搜索百度:位运算,补补基础2.android文档参考方便研究:ht
2017-04-01 07:56:12
6180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人