- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 repo status命令优化
repo status命令过滤没有任何改动的仓库repo status命令正常的输出包含了所有仓库的状态信息,如果仓库数量很多的情况下,会打印大量无用信息。本文通过修改本仓库中的project.py解决此问题。打印仓库状态的函数是PrintWorkTreeStatus,代码路径是.repo/repo/project.py相关代码如下:1.通过三引号注释原有的输出内容2.对上述输出内容进行判断...........................
2022-06-30 11:32:11
2253
原创 安卓音频模块知识
1.用于控制使用唯一音量的标志。/AN/frameworks/base/media/java/android/media/AudioSystem.javamIsSingleVolume
2021-10-25 11:51:18
177
原创 ams流程
1.removeTask->mStackSupervisor.removeTaskByIdLocked->removeTaskByIdLocked->removeTaskActivitiesLocked->performClearTaskAtIndexLocked->finishActivityLocked->finishCurrentActivityLocked->ensureActivitiesVisibleLocked2.ki.
2021-10-25 11:47:40
200
原创 批处理复制文件
call:funcCopyOneFile 848 白板 WhiteBoardcall:funcCopyOneFile 848 批注 Annotationcall:funcCopyOneFile 848 语音助手 VoiceAssistantcall:funcCopyOneFile commons 日程管理 Schedulecall:funcCopyOneFile commons 文件管理器 FileManagercall:funcCopyOneFile commons 系统升级 Upgrade.
2021-06-10 17:10:45
234
原创 快速编译framework
adb root & adb remountset SRC_ROOT_PATH=\\10.40.73.73\workspace\v\code\main\AN:: frameowrk.jaradb push %SRC_ROOT_PATH%\out\target\product\ktc_v2\system\framework\framework.jar /system/frameworkadb push %SRC_ROOT_PATH%\out\target\product\ktc_v.
2021-06-10 17:04:35
485
原创 2020-12-17
Can't install this package (Tue Jun 27 12:29:30 CST 2017) over newer build (Mon Jun 26 17:20:32 CST 2017)问题原因:安卓升级时发现新包的时间戳小于本地系统的时间戳。由于script.AssertOlderBuild检查时间戳导致升级失败。build/core/Makefile调用了此脚本,只需要加入相应的参数不检查时间即可。或者直接注释这一行。def WriteFullOTAPack
2020-12-17 14:58:00
536
1
原创 ART到底是不是虚拟机?
ART的主要工作是管理运行时类型信息,加载,卸载代码段,标记,回收内存等资源。编译型语言如C语言是没有这些工作的。基于ART运行的apk仍然会比编译型语言要慢。apk代码翻译成机器码后,仍然没有直接运行,直接运行的代码仍然是ART虚拟机进程,虚拟机进程需要动态地加载机器码,执行机器码,动态地链接应用代码调用的运行时库。ART与Dalvik相比,主要的改进是减少了字节码到机器码的翻译
2017-09-14 09:40:40
1966
原创 M个数字中随机取N个数(不重复)
方法1:要从M个数字中随机取N个数,最直接的想法把已经取得的随机数存储起来,每次随机取一个数,在存储的随机数中如果能够找到,就要重新再取,直到取到足够数量的随机数。这个方法的好处是容易理解,容易实现。但它的时间性能是O(N2),因为存在一个2重循环。如果样本较多,时间会急剧增加。方法2:在外层循环难以避免的情况下,我们考虑把内层循环换成固定时间的算法。代码如
2017-08-29 15:51:23
5732
原创 Error type 3
问题现象:无论是调试运行程序还是通过命令行运行程序,都会以Error type 3的提示。如下:Error while executing: am start -n "package_name/package_name.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHERStarti
2017-06-22 11:08:07
820
原创 cloudroid工作日志-20170510
1.完成了4.4/5.0系统透明状态栏的研究。package com.techsz.vulcan.cloudroid;import android.app.Activity;import android.content.Context;import android.os.Build;import android.os.Bundle;import android.support.an
2017-05-11 00:05:53
498
原创 shape.gradient使用示例
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track" //滚动条背景 Android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb" //滚动条scro
2017-04-17 15:44:42
713
原创 android疑难问题
1.Fragment嵌套问题:问题现象:java.lang.IllegalArgumentException: Binary XML file line #79: Duplicate id 0x7f0d0060原因分析:activity中不同的frament之间项目替换的时候,FragmentManager只会remove和add这些frament,然而
2017-03-02 09:11:35
817
原创 AndroidStudio用gradle编译中文乱码
在Gradle Scripts下的 build.gradle(Module:app)文件中,增加一行代码: android { compileOptions.encoding = "GBK" } 该文件全文如下:(加粗部分是关键) apply plugin: 'com.android.application' android { compileSdkVer
2017-03-01 10:11:51
3469
原创 如何去除android对话框的导航栏
下面的sample解决了以下问题:1.随意设置自定义对话框的位置2.设置对话框的背景为透明(这样使得自定义的图标完全起作用)3.弹出对话框时不会同时弹出导航栏。4.去除对话框的标题栏(如果不去除,标题栏可能显示为一条横线)
2017-02-13 18:19:01
2829
原创 android实现双击监听
优势:1.灵活性高。不需要继承自View或者其子类。2.对单击的误触进行了识别。3.本身已经具备了双击,单击的识别机制,不必担心与原有接口的协调问题。4.可调整单击与双击识别的时间值。代码如下:package com.vulcan.vulcan;import android.os.Handler;import andro
2017-01-03 15:16:39
2050
原创 android常用技巧
1.通过隐匿意图启动桌面Intent launcherIntent = new Intent(Intent.ACTION_MAIN);launcherIntent.addCategory(Intent.CATEGORY_HOME);startActivity(launcherIntent);2.
2016-12-27 15:39:13
923
原创 批处理重命名照片
echo offset num=0 setlocal ENABLEDELAYEDEXPANSION for /f "tokens=1,2 delims=-" %%a in ('dir /a-d/b *.jpg') do ( set /a num+=1 set /a num2=1000+!num! echo !num2:~1! ren "%%a-%%b" "Shuhao-!num2:
2016-11-19 23:46:14
1309
原创 mklichee操作步骤
1.lichee目录:mkdistclean2.lichee目录:mkclean3.lichee目录:source buildroot/scripts/mksetup.sh依次选择:0. sun50iw1p1(chips)0. android(platforms)0. linux-3.10(kernel)1. p1(board)4.lichee目录:mk
2016-10-25 09:29:17
1680
原创 android6.0单独编译和调试framework源码的方法
缺省情况下,android 6.0的编译过程会优化framework.jar,这导致所有系统启动相关的文件(比如service.jar)一起打包到boot.oat中打包,并引入了checksum机制,无法单独针对一个文件进行修改。framework单独编译方法1:为了方便调试,最便捷的方法就是在device目录下修改BoardConfig.mk(我的目录是android/device/so
2016-10-14 11:24:51
7194
原创 私有framework与android.jar共存
第一步,把jar包放在工程下的libs目录里,如果没有就新建这个目录,名字随意,为了简单,我写成test.jar。第二步,通过File菜单或者F4进入project structure,再进到dependencies,点 + 选择file dependency ,再从libs目录选择你要的jar包,这里是test.jar,选择后把 scope置为Provided第三步,找到工程根目录下的b
2016-09-30 20:44:20
1024
原创 重启应用的方法
@ECHO OFFFOR /f "tokens=2,9 delims= " %%b in ('adb shell ps') do ( IF %%c EQU com.toycloud.tcservice set pid1=%%b)FOR /f "tokens=2,9 delims= " %%b in ('adb shell ps') do ( IF %%c EQU com.to...
2016-09-08 14:47:30
1364
原创 makefile技巧:在makefile中打印
1.在makefile中增加打印。LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-java-files-under, src) \ src/com/android/systemui/EventLogTags.lo
2016-09-08 14:11:10
31856
原创 mklichee编译笔记
环境:1)ubuntu16.04 lts2)openjdk 1.7问题:awk: line 2: function strtonum never defined解决办法 :sudo apt-get install gawk
2016-09-01 10:11:52
1865
原创 如何使用自定义的签名进行调试
直接使用自定义的签名进行调试时,eclipse会提示"Keystore was tampered with, or password was incorrect"。原因就是eclipse会使用调试签名特有的别名和密码访问该签名文件,导致密码错误。解决办法就是修改自家的签名文件的别名(alias),密钥密码(keypassword),库密码(storepassword)。
2016-07-21 10:14:13
878
原创 构造回文(动态规划,递归算法)
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.对于每组数据,输出一个整数,代表最少需要删除的字符个数。
2016-06-15 21:37:42
1625
原创 计算回文子序列(Java语言,动态规划,递归)
LCS是指最长公共子序列。计算2个字符串的LCS广泛应用于搜索引擎,文本编辑器,字符串比较工具,IDE等工具中。LCS计算基于已经证明的一种递推关系。即:1.当Xm == Yn时,LCS(X(m),Y(n)) = LCS(X(m-1),Y(n-1)) + Xm2.当Xm != Yn时,LCS(X(m),Y(n)) = max( LCS(X(m-1),Y(n)), LCS(X(m),Y(n-1))
2016-06-15 18:04:55
1161
原创 计算回文子序列(Java语言,穷举法,递归)
腾讯2017暑期实习生编程题1。给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。
2016-06-14 10:39:42
1338
原创 字符串替换
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
2016-06-12 15:35:23
261
原创 二维数组查找算法(C++)
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
2016-06-12 11:42:43
1151
原创 插入排序算法(Java语言)
插入排序算法思路是把无序集合逐步转化成有序集合。开始时无序集合为所有待排序数,而有序集合为空。每一趟排序会从无序集合中选择一个最大的数,放入有序集合。重复进行N趟,则无序集合为空,排序完成。
2016-05-30 13:30:03
262
原创 快速排序算法(Java语言)
快速排序基本思路:在待排序数据中选择一个中间数,把待排序的数分成两组,一组是小于中间数的,另一个是不小于间数的。再针对每一组数重复上面的过程,最终完成排序。分组的目的是让左边的数都小于中间数,而右边的数都不小于中间数。分组的过程:1.分组的第一步是把最右边的数取出,作为中间数,而中间数的位置成为一个坑。2.从右到左检查右边的数,发现异常时,用异常数去填坑,而当前的异常数变成了新的坑,然后暂停扫描右边的数,开始扫描左边的数。3.从左到或检查左边的数,发现异常时,用异常数去填上一步挖
2016-05-29 10:45:52
488
原创 苹果电脑开启php的xdebug插件
操作指导:下载 xdebug-2.4.0rc3.tgz解压。 tar -xvzf xdebug-2.4.0rc3.tgz终端命令:cd xdebug-2.4.0rc3运行phpize(若没有phpize,请参考FAQ)显示内容应该有下面的内容:Configuring for:...Zend Module Api No: 20121212Zend Extensio
2016-01-07 23:22:22
317
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人