自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (15)
  • 收藏
  • 关注

原创 2021-09-24

Bash Shell中的¥Shell的名字 $0第一个参数 $1第二个参数 $2第n个参数 $n所有参数 $@ 或 $*参数个数 $#

2021-09-24 11:04:30 136

原创 android bootanimation启动和关闭

启动frameworks/base/cmds/bootanimation/bootanim.rcservice bootanim /system/bin/bootanimation关闭WindowManagerService.javaperformEnableScreen()try { IBinder surfaceFlinger = Servi...

2019-04-01 12:26:55 1709

原创 签名系统apk命令

java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 input.apk output.apk

2019-01-11 17:36:38 537

原创 关于android:sharedUserId

作用是多个app进程共享数据多个app设置成相同的user idandroid:sharedUserId=“android.uid.system” 系统级进程android:sharedUserId=“com.example” 普通共享app具体参考如下文章:https://blog.csdn.net/jiangwei0910410003/article/details/51316688...

2019-01-05 15:20:58 1127

原创 LOCAL_CERTIFICATE作用

用于设置不同的签名方式build/target/product/security目录中有四组默认签名供Android.mk在编译APK使用:1、testkey:普通APK,默认情况下使用。2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。3、shared:该APK需要和home/contacts...

2019-01-05 15:06:42 19086

原创 Ubuntu格式化U盘

查看分区信息 sudo fdisk -l修改分区 sudo fdisk /dev/sdbm是帮助 d是删除一个分区,数字1~4选择要删除的分区 n创建新分区,p主分区,e扩展分区 w写回并推出格式化分区 sudo mkfs -t ntfs /dev/sdb1...

2018-09-10 13:38:48 1100

原创 dump AndroidManifest.xml from APK file

aapt dump xmltree XXX.apk AndroidManifest.xml aapt dump xmltree XXX.apk AndroidManifest.xml > ttt.txt

2018-02-09 15:20:25 579

原创 framework_intermediates/classes.jar: unknown package name of class file

编译android源码时如果出现标题类似错误 需要到build/core/tasks/check_boot_jars/package_whitelist.txt 文件中追加对应的类或者包

2017-12-19 20:59:26 1787

原创 system-api.txt:27075: error 13 has added 'final' qualifier

修改android N源码过程中如果修改了原始的api导致编译出现如下错误,解决方法是让prebuilts/sdk/system-api/25.txt中的声明和frameworks/base/api/system-current.txt或者current.txt保持一致错误log如下:FAILED: /bin/bash -c "(( out/host/linux-x86/bin/apicheck -

2017-12-19 20:43:57 1186 1

原创 android编译中的BUILD_JAVA_LIBRARY

android编译中经常用到编译jar文件的常量 BUILD_JAVA_LIBRARY 他的定义在 build/core/config.mk中 BUILD_JAVA_LIBRARY:= $(BUILD_SYSTEM)/java_library.mk其他几个也是类似的定义 把BUILD_去掉 后面变成小写java_library.mk 就是对应的实现BUILD_HOST_STATIC_L

2017-12-14 20:34:00 3009

原创 Ubuntu Eclipse经常挂掉问题

最近发现Ubuntu下的Eclipse经常挂掉 后来在eclipse.ini中加入如下的配置后不挂了-Dorg.eclipse.swt.browser.DefaultType=mozilla

2017-03-24 14:21:48 470

原创 Android BluetoothAdapter

本文基于android 7.0代码BluetoothAdapterframeworks/base/core/java/android/bluetooth/BluetoothAdapter.java提供了7个状态值 /** * Indicates the local Bluetooth adapter is off. */ public static final in

2017-01-18 17:51:20 1035

原创 WindowManager addView

首先WindowManager是怎么获取的WindowManager mWindowManager = Context.getSystemService(WindowManager.class);可以通过这种方式给Activity add一个view 接着找到WindowManager和其他两个类的关系public final class WindowManagerImpl implements

2017-01-13 22:56:46 3239

原创 Android AIDL

Android AIDL是Android一个进程间通信的机制 IPC (Inter Process Communication,进程间通信)AIDL的使用 1. 写一个aidl文件,例如aaa.aidl 2. 服务器端和客户端各放一份 3. 服务器端(Bn)要实现ServerAAA extends aaa.Stub 4. ServerAAA中会实现具体的功能供客户端调用 5. 客户

2017-01-13 21:13:12 289

原创 Android SurfaceSession

Android SurfaceSession

2017-01-13 20:24:58 1150

原创 Android WindowManagerService相关的Session

本文基于Android7.0Session类路径framework/base/services/core/java/com/android/server/wm/Session.java内容final class Session extends IWindowSession.Stub implements IBinder.DeathRecipient { final Windo

2017-01-13 19:50:32 1480

原创 Android Support Repository版本号

本文参考: https://developer.android.com/topic/libraries/support-library/setup.html首先要使用support library,就要通过android sdk manager下载 Android Support Repository下载后的本地路径如下 /extras/android/m2repository/com/and

2017-01-12 17:39:51 10527

原创 如何使用Design Support Library提供的FloatingActionButton

Android Studio中app/build.gradle追加dependenciesdependencies { compile 'com.android.support:design:25.1.0'}layout中追加如下控件 <android.support.design.widget.FloatingActionButton android:id="@+i

2017-01-12 14:54:32 515

原创 Sublime快捷键

Sublime Text 3 快捷键精华版 Ctrl+Shift+P:打开命令面板 Ctrl+P:搜索项目中的文件 Ctrl+G:跳转到第几行 Ctrl+W:关闭当前打开文件 Ctrl+Shift+W:关闭所有打开文件 Ctrl+Shift+V:粘贴并格式化 Ctrl+D:选择单词,重复可增加选择下一个相同的单词 Ctrl+L:选择行,重复可依次增加选择下一行 Ctrl+Shift

2017-01-05 21:02:49 299

原创 Android dump的使用1

android源码中很多service提供了dump函数,并会输出当前的状态。如何使用dump函数就是这篇文档要做的事儿首先,进入adb shell 第二,执行dumpsys –help 这样就能了解dumpsys命令的基本用法255|generic_x86_64:/ # dumpsys --helpusage: dumpsys To dump all ser

2017-01-05 12:19:27 10906

原创 Android Configuration UIMode

UIMode是当前UI模式 桌面,汽车,TV,手表 白天,夜间等参考如下代码:// Configuration.java switch ((uiMode&UI_MODE_TYPE_MASK)) { case UI_MODE_TYPE_UNDEFINED: sb.append(" ?uimode"); break; case UI_MODE_

2016-12-23 12:20:35 5296 1

转载 深入理解Activity启动流程(四)–Activity Task的调度算法

前面两篇博客介绍了Activity的详细启动流程,提到ActivityStack类的startActivityUncheckedLocked方法负责调度ActivityRecord和Task,并且调度算法非常复杂,需结合实际场景分析调度算法。本篇博客将介绍startActivityUncheckedLocked方法的具体实现,本结合实际场景分析调度算法。startActivityUncheckedL

2016-12-22 21:38:41 669

转载 深入理解Activity启动流程(三)–Activity启动的详细流程2

上篇博客介绍了Activity详细启动流程的前半部分:Activity调用ActivityManagerService启动应用ActivityManagerService调用Zygote孵化应用进程Zygote孵化应用进程 本篇博客主要介绍Activity详细启动流程的后半部分:新进程启动ActivityThread应用进程绑定到ActivityManagerServiceActivi

2016-12-22 21:32:59 553

转载 深入理解Activity启动流程(三)–Activity启动的详细流程1

本篇博客将开始介绍Activity启动的详细流程,由于详细启动流程非常复杂,故此分成两篇来介绍。本篇主要介绍前半部分的启动流程:Activity调用ActivityManagerService启动应用ActivityManagerService调用Zygote孵化应用进程Zygote孵化应用进程 下篇介绍后半部分的启动流程:新进程启动ActivityThread应用进程绑定到Activi

2016-12-22 21:10:34 417

转载 深入理解Activity启动流程(二)–Activity启动相关类的类图

在介绍Activity的详细启动流程之前,先为大家介绍Activity启动时涉及到的类,这样大家可以有大概的了解,不至于在细节中迷失。Activity启动时涉及到的类有IActivityManager相关类, IApplicationThread 相关类, ActivityManagerService 相关类。IActivityManager相关类 Activity的管理采用binder机制,管理

2016-12-22 20:55:08 538

转载 深入理解Activity启动流程(一)–Activity启动的概要流程

**概述**Android中启动某个Activity,将先启动Activity所在的应用。应用启动时会启动一个以应用包名为进程名的进程,该进程有一个主线程,叫ActivityThread,也叫做UI线程。本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究。Activity启动时的概要交互流程用户从Launcher程序点击应用图标可启动应用的入口Activity,Act

2016-12-22 20:45:13 443

原创 IActivityManager ActivityManagerNative ActivityManagerService之间如何进行工作

总结:IActivityManager调用函数最终会调用ActivityManagerService中的对应实现IActivityManager 定义的接口。 app侧的proxy <—->ActivityManagerProxy 比如IActivityManager定义接口startActivityFromRecentsclass ActivityManagerProxy implements

2016-12-21 15:59:47 3506 1

原创 Android 7.0 SystemUI Recent浅析

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~最近Task模块Recents extends SystemUIstart进行初始化~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~BaseStatusBar中如下函数显示最近task    protected void toggleRecents() {

2016-12-20 17:52:58 5572

转载 Android Studio卡顿

以下内容来自网址:https://www.zhihu.com/question/32282404罗森75 人赞同Android Studio 2.0 以下:每次升级/安装 Android Studio 之后最好都修改一下这个参数:到 Android Studio 安装目录,找到 bin/studio(64?).vmoptions(文件名可

2016-12-10 01:10:25 846

原创 gitk not enough memory

error getting diffs: couldn't fork child process: not enough memory解决方法gitk --all -n 256gitk --all -n 10gitk --all -n XXXX是最近几个提交参考:https://www.spinics.net/lists/git/msg39209.html

2016-12-08 16:49:44 1095

原创 android layout_gravity

android:layout_gravity=”0x37” 意思就是 android:layout_gravity=”top|fill_horizontal”Gravity类提供的常量列表如下: NO_GRAVITY Constant Value: 0 (0x00000000) LEFT

2016-12-08 14:22:44 721

原创 Android7.0 SystemUI StatusBar和Notification代码浅析

SystemUI代码结构比Launcher2代码要复杂很多 下面的分析也主要是贴代码,备注给自己,以免以后忘记~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* 程序入口 * 系统会启动SystemUIService SystemUIService->onCreateSystemUIApplication->startServicesIfNeeded() 创建所有SystemUI为

2016-12-08 10:36:15 11407 1

原创 Implicit declaration of function 'inet_addr' is invalid in C99

inet_addr implicit declaration

2016-11-21 22:37:30 6449

原创 三国演义 关羽过五关斩六将具体指什么

许昌(许都) 东岭关 孔秀 洛阳 韩福 孟坦 汜水关 卞喜 荥xing阳 王植 黄河渡口 秦琪

2016-10-10 16:58:38 964

原创 ubuntu resolv.conf 重启丢失

ubuntu系统,重启会覆盖/etc/resolv.conf文件的问题解决办法sudo gedit /etc/network/interfaces 追加一行 dns-nameservers XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX为DNS服务器地址sudo gedit /etc/resolvconf/resolv.conf.d/head 加入如下两行 nameserv

2016-08-29 10:53:10 2316

原创 Ubuntu安装JDK

下载jdk 先从Oracle官网下载JDK。先选择同意按钮,然后根据自己的系统下载相应版本。我的系统是Ubuntu16.04 64位的,所以我下载64位linux版本的jdk解压拷贝到/usr/lib/jvm目录下环境变量设置 配置默认java版本 sudo update-alternatives –install “/usr/bin/java” “java” “/usr/java/jdk

2016-08-08 21:34:19 423

原创 Dx unsupported class file version 52.0 …while parsing

如果使用eclipse时遇到如标题的问题 原因是jdk版本是1.8,runtime版本是1.6,导致无法正常解析 eclipse修改设定 Window->Preference->Java->Compiler Window->Preference->Java->Installed JREs 两处保持一致版本 Installed JREs->Execution Environment中 J

2016-08-08 21:19:27 7452 3

原创 android studio上次修改位置跳转快捷键无效

如果遇到标题的问题 找到Setting->Key Map->Main Menu->Navigation->Back 修改快捷键为Alt+P之类的,之前的快捷键可能和其他快捷键有冲突导致无效

2016-08-08 20:47:23 3608

原创 Module won't show up in “Edit Configuration”

Module not specified使用android studio时,出现程序无法运行,手动添加run configuration时也无法找到module时 可以查看主程序的build.gradle Make sure your build.gradle isapply plugin: ‘com.android.application’ notapply plugin: ‘com.and

2016-08-08 20:41:51 728

转载 shell 脚本中的$

shell 脚本中$$,$#,$?分别代表什么意思?0这个程式的执行名字0 这个程式的执行名字 n 这个程式的第n个参数值,n=1..9 ∗这个程式的所有参数,此选项参数可超过9个。* 这个程式的所有参数,此选项参数可超过9个。 # 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号) $? 执

2016-04-22 11:16:42 411

jd-gui-0.3.3.windows

对于dex2jar反编译生成的jar包 或者一般jar包都可以使用这个工具查看里面的java文件

2016-02-06

WinHex.1641965899

部分Android手机Mac地址自动改变 需要WinHex修改对应的文件

2016-02-06

SQLite Expert

对于android db文件查看修改利器

2016-02-06

dex2jar-0.0.9.15

dex2jar-0.0.9.15 用于将apk中的dex文件转换成jar文件,jar文件中的java可以查看

2016-02-02

Genymotion-ARM-Translation_v1.1

本插件适用于genymotion各版本 genymotion安装后,下载android 4.4以下版本的virtual devices 模拟器跑起来之后拖拽进模拟器中即可自动安装 注意:必须是android 4.4以下版本,不包括4.4 android4.4及以上不支持,程序如果包含so等需要ndk编译的 程序启动会挂掉

2016-02-02

android Notification详解

简单介绍Android Notification用法 详细介绍NotificationManageService和StatusBarManageService与App层交互过程

2014-04-09

Android 4.2.2 系统自带Email源码

Android4.2.2 源代码中自带Email客户端源码zip包

2014-03-14

VBA 7.0.1590ForWPS(中文)

VBA 7.0.1590ForWPS(中文) WPS需要安装这个插件才能使用宏

2013-02-16

android MP3文件解析 左右声道切换

android MP3文件解析 左右声道切换

2012-05-31

跟我一起写Makefile.pdf

讲述如何写makefile的文章 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 makefile 带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。

2012-01-10

CGI_1.1_specification

CGI specification 说明文档 1.1

2011-12-22

Using_Drupal_中文版

Drupal中文版教程Using Drupal

2011-12-22

Android4.0源码编译

Android4.0源码编译方法介绍,记录基于Ubuntu10.04编译Android4.0源码的过程。

2011-12-22

Google V8 JavaScript引擎源代码

Google V8 JavaScript引擎源代码 下载后解压就能看到

2009-11-11

Symbian s60 3rd 2D游戏引擎

不错,Carbide.c++编译通过可以跑的

2008-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除