自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 问答 (4)
  • 收藏
  • 关注

原创 在APK中获取鸿蒙应用Ability信息

Android开发工具箱大概在版本2.2.0(2021-06-10)就已经支持查看鸿蒙系统信息以及鸿蒙应用信息了。这里我讲一下Android开发工具箱是如何在Android应用中(APK)获取鸿蒙应用Ability信息(类似于Android应用的四大组件信息)Android开发工具箱可在应用宝、酷安下载,微信公众号:Android开发工具箱https://www.coolapk.com/apk/com.su.assistant.proAndroid中,我们获取应用列表之后,再获取应用的P

2021-06-29 14:32:08 4280 2

原创 android获取应用内自定义权限与权限使用情况

先上图,看看最终我们可以得到什么样子的结果:截图来自 android开发工具箱,点我下载 android开发工具箱应用内权限信息分为两个部分,我们先来看应用内权限使用情况。PackageManager pm = context.getPackageManager();PackageInfo packageInfo = pm.getPackageInfo(packageN...

2020-04-01 22:45:12 6331

原创 android获取应用四大组件列表以及详细信息

我们可以通过PackageManager获取PackageInfo,既而获得应用包相关的各种信息,除了之前说过的可以获取包名、版本号、图标、入口Activity、Application、文件md5/sha1/sha256等等,我们还可以获取应用的四大组件列表,以及组件具体详情。PackageInfo info = pm.getPackageInfo(mPackageName, Package...

2020-03-29 19:08:21 5160

原创 android获取应用基本信息

在android系统上面,我们想查看一个应用的信息,可以使用PackageManager来获得```PackageManager pm = context.getPackageManager();PackageInfo pi = pm.getPackageInfo(packageName, 0);```我们可以直接获得versionCode, versionName以及应用入口(如果有...

2020-03-28 21:50:20 3978

原创 《Linux命令行与shell脚本编程大全》 第十三章 学习笔记

第十三章:处理用户输入命令行参数读取参数bash shell会将一些称为位置参数(positional parameter)的特殊变量分配给命令行输入的所有参数甚至包括程序名$0:程序名(程序的绝对路径),可以对$0使用basename函数(basename $0),它只返回程序名$i(9>i>0):第i个参数如果需要的参数多于9个,那么只需${10},这样既可如果脚本需要参数,但是执行的时候并没

2020-03-13 20:22:23 6711

原创 android widget(桌面小部件)实现

本文介绍如何自己实现一个widget以及各种注意事项。

2017-06-30 13:13:07 3712

原创 android系统提供的常用命令行工具

这里只列举一些我平时可能用的到的命令(am, appops, ime, input, pm, screencap, settings, svc, uiautomator, wm)来演示.先从简单的开始.imeime是和输入法相关的,可以通过它来启用/设置输入法,也可以列出手机中已有的输入法.

2016-06-21 13:19:54 12613

原创 使用bash解析xml

最初的需求是希望bash能提供完整成熟的xml解析工具来解析xml,但是并没有找到这样的工具。后来在StackOverFlow上找到一个简单的处理xml的方法,即:rdom () { local IFS=\> ; read -d \方法只有一行!(当然,两条语句应该算是两行……)当然,这也只能处理最简单原始的xml,不能处理带属性的,不能有注释等等。由于楼主过于懒惰,不想引入(学习)新的脚本语言,

2015-11-02 11:47:38 7200

原创 深入入门正则表达式(java) - 命名捕获

很多正则引擎都支持命名分组,java是在java7中才引入这个特性,语法与.Net类似(.Net允许同一表达式出现名字相同的分组,java不允许)。命名分组很好理解,就是给分组进行命名。下面简单演示一下java中如何使用以及注意事项。

2015-10-25 22:01:48 11557 5

翻译 通过蓝牙调试(穿戴设备app) - 开发文档翻译

你可以通过蓝牙debug你的穿戴设备,把穿戴设备的debug输出定向到连接在你的来发机器上的手持设备中。

2015-09-30 11:45:15 5434 3

翻译 打包穿戴设备app - 开发文档翻译

当发布给用户的时候,你必须打包一个穿戴设备app到一个手持设备app中,因为用户不会直接在穿戴设备上浏览并安装app。如果打包恰当,当用户下载手持设备app时,系统会自动的把穿戴设备app安装到配对的穿戴设备中注意:开发的时候,这个功能不能用在debug签名的app中。开发的时候,必须通过adb install或者Android Studio直接安装到穿戴设备中。

2015-09-29 17:21:48 4625

原创 弧形进度条(动画版)

我们先把问题分解为下面3个小问题。1.如何画一个弧形2.如何让弧形带有加载过程3.如何让进度值随着圆弧一起转动

2015-07-23 17:02:42 6543 3

原创 使用canvas与Paint在View中居中绘制文字

我们在自定义View中有的时候会想自己绘制文字,自己绘制文字的时候,我们通常希望把文字精确定位,文字居中(水平、垂直)是普遍的需求,所以这里就以文字居中为例,看一下android中的文字应该如何绘制,它与Java又有什么区别。

2015-07-15 23:06:44 15079 1

原创 android 关于提高第三方app的service优先级

本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接基本上大家都知道提高service优先级可以在很大程度上让你的service免于因为内存不足而被kill,当然系统只是在此时先把优先级低的kill掉,如果内存还是不够,也会把你的service干掉的。不过现在的机器不像几年前了,基本上不会发生那种情况。先来看看网上常见的错误方法:1.android:persistent="true"对

2014-06-23 23:15:12 8951 5

翻译 android <application> 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接 语法:                     android:allowBackup=["true" | "false"]                 android:backupAgent="string"                 android:debuggable=["t

2014-05-24 23:48:00 5417

原创 《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记

第二十七章:shell脚本编程进阶 监测系统统计数据系统快照报告1.运行时间uptime命令会提供以下基本信息:当前时间系统运行的天数,小时数,分钟数当前登录到系统的用户数1分钟,5分钟,15分钟的平均负载$ uptime 16:20:51 up 2 days, 3:11, 9 users, load average: 0.01, 0.02, 0.052.磁盘使用情况$ df -hFi

2013-12-12 09:57:46 6315

原创 《Linux命令行与shell脚本编程大全》 第二十六章 学习笔记

第二十六章:编写脚本实用工具 监测磁盘空间需要的功能du,显示文件和目录的磁盘使用情况查看一个目录的大小,我们可以这样:$ du --max-depth=0 -h android-sdk6.1G android-sdk$ du -sh android-sdk6.1G android-sdk$ du --max-depth=0 -sh android-sdkdu: warning: sum

2013-12-11 15:58:49 6251

原创 《Linux命令行与shell脚本编程大全》 第二十五章 学习笔记

第二十五章:使用E-mail Linux E-mail基础Linux中的E-mail在Linux环境中,E-mail过程通常分为3个功能:邮件传送代理(Mail Transfer Agent,MTA)邮件投递代理(Mail Delivery Agent,MDA)邮件用户代理(Mail User Agent,MUA)有些E-mail软件合并了MDA和MTA,有些合并了MDA和MUA 邮件传送代理MT

2013-12-06 13:41:20 6420

原创 《Linux命令行与shell脚本编程大全》 第二十四章 学习笔记

第二十四章:使用Web Lynx程序Lynx支持三种不同的查看Web页面真实HTML内容的格式:1.在终端会话中采用curses图形库的文本图形显示2.文本文件,从web页面中转储的原始数据3.文本文件,从web页面中转储的原始HTML源码Lynx命令 基本格式:lynx options URLlynx命令行参数参数描述-接受来自STDIN的选项和参数-accept_all_cookies使能Se

2013-11-15 16:34:42 6865

原创 android多语言项目中字符串的移植(bash工具)

有时候我们会遇到这样一种情况:一些字符串资源要从原始项目A移植到现在我们开发的项目B中比如移植app名字Calendar我们需要做的是:在新项目对应的语言资源中查找是否有app_label这个资源。    有:则查看新旧资源是否一致        一致:则什么也不做        不一致:删除旧的,添加新的资源    没有:添加新的资源工作内容很简单,但是,语言种类可能达到五六十种,移植的资源往往

2013-11-11 13:31:37 4277

原创 《Linux命令行与shell脚本编程大全》 第二十三章 学习笔记

第二十三章:使用数据库 MySQL数据库MySQL客户端界面mysql命令行参数参数描述-A禁用自动重新生成哈希表-b禁用 出错后的beep声-B不使用历史文件-C压缩客户端和服务器之间发送的所有消息-D指定要用的数据库-e执行指定语句并退出-E竖直方向显示查询输出,每行一个数据字段-f如果有SQL错误产生,继续执行-G使能命名命令的使用-h指定MySQL服务器主机名(默认为localhost)-

2013-10-31 17:00:04 5827

原创 《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记

第二十二章:使用其他shell 什么是dash shellDebian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本。NetBSD Unix操作系统移植了ash shell,并且作为默认shell。NetBSD开发人员给ash shell添加了一些新功能,使它更接近Bourne shell。新功能包括:emacs和v

2013-10-30 11:23:19 7450 2

原创 《Linux命令行与shell脚本编程大全》 第二十一章 学习笔记

第二十一章:gawk进阶 使用变量gawk支持两种类型的变量:内建变量自定义变量内建变量字段和数据行分割符变量使用美元符号($)和数据字段在数据行中位置对应的数值来引用该数据行中的字段。比如,要引用数据行中的第二个字段就使用$2gawk数据字段和数据行变量变量描述FIELDWIDTHS由空格分隔开的定义了每个数据字段确切宽度的一列数字FS输入字段分割符RS输入数据行分割符OFS输入字段分隔符ORS

2013-10-15 15:13:13 4608

原创 《Linux命令行与shell脚本编程大全》 第二十章 学习笔记

第二十章:sed进阶 多行命令sed编辑器包含了3个可用来处理多行文本的命令1.N:将数据流中的下一行加进来创建一个多行组来处理2.D:删除多行组中的一行3.P:打印多行组中的一行next命令单行的next命令n命令会告诉sed编辑器移动到数据流中的下一文本行,而不用重新回到命令的最开始再执行一遍通常sed编辑器会在移动到数据流中的下一文本行前在这行上执行所有定义好的命令。单行的next命令改变了

2013-09-24 17:48:34 4549

翻译 android 高效显示Bitmap - 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接 Displaying Bitmaps Efficiently高效显示Bitmap Learn how to use common techniques to process and load Bitmap objects in a way that keeps your user inter

2013-09-13 18:00:15 4103

原创 《Linux命令行与shell脚本编程大全》 第十九章 学习笔记

第十九章:正则表达式 由于之前我已经写过比较详尽的正则教程深入入门正则表达式(java) - 引言深入入门正则表达式(java) - 1 - 入门基础 深入入门正则表达式(java) - 2 - 基本实例深入入门正则表达式(java) - 3 - 正则在java中的使用深入入门正则表达式(java) - 匹配原理 - 1 - 引擎分类与普适原则深入入门正则表达式(java) - 匹配原理 - 2

2013-09-11 10:03:29 4687

原创 《Linux命令行与shell脚本编程大全》 第十八章 学习笔记

第十八章:初识sed和gawk 文本处理sed编辑器sed编辑器可以基于输入到命令行的或是存储在命令文本文件中的命令来处理数据流中的数据。它每次读取一行,用提供的编辑器命令匹配数据、按命令中指定的方式修改流中的数据,然后将生成的数据输出到STDOUT。在流编辑器将所有命令与一行数据进行匹配后,它会读取下一行数据并重复这个过程。在流编辑器处理完流中的所有数据行后,它就会终止。sed命令格式:sed

2013-09-10 11:46:34 3716

翻译 android 在你的UI中显示Bitmap - 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接Displaying Bitmaps in Your UI在你的UI中显示Bitmap This lesson brings together everything from previous lessons, showing you how to load multiple bitmaps

2013-09-06 19:34:35 1970 1

原创 《Linux命令行与shell脚本编程大全》 第十七章 学习笔记

第十七章:图形化桌面上的脚本编程 创建文本菜单创建菜单布局#!/bin/bashclear #清屏echo -e "\t\tMenu"echo -e "1.\tDisplay disk space"echo -e "2.\tDisplay logged on user"echo -e "3.\tDisplay memory usage"echo -e "0.\tExit menu\n\

2013-09-05 20:35:23 4201

原创 《Linux命令行与shell脚本编程大全》 第十六章 学习笔记

第十六章:创建函数 基本的脚本函数创建函数1.用function关键字,后面跟函数名function name { commands}2.函数名后面跟空圆括号,标明正在定义一个函数name() { commands}如果两个函数的名称相同,那么后面的将会覆盖前面的,而且不会有提示。使用函数使用函数名称即可。必须先定义,再使用。#!/bin/bashf1() { echo

2013-09-02 16:03:29 4688 1

原创 《Linux命令行与shell脚本编程大全》 第十五章 学习笔记

第十五章:控制脚本处理信号重温Linux信号信号名称描述1HUP挂起2INT中断3QUIT结束运行9KILL无条件终止11SEGV段错误15TERM尽可能终止17STOP无条件停止运行,但不终止18TSTP停止或暂停,但继续在后台运行19CONT在STOP或TSTP之后恢复执行默认情况下,bash shell会忽略收到的任何SIGQUIT(3)和SIGTERM(5)信号。如果bash shell收

2013-08-30 11:41:48 4382

翻译 android 管理Bitmap内存 - 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接Managing Bitmap Memory管理Bitmap内存In addition to the steps described in Caching Bitmaps, there are specific things you can do to facilitate garbage c

2013-08-27 15:40:35 2849

翻译 android 缓存Bitmap - 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接Loading a single bitmap into your user interface (UI) is straightforward, however things get more complicated if you need to load a larger set of i

2013-08-25 13:02:39 2394 1

原创 《Linux命令行与shell脚本编程大全》 第十四章 学习笔记

第十四章:呈现数据 理解输入与输出标准文件描述符文件描述符缩写描述0STDIN标准输入1STDOUT标准输出2STDERR标准错误 1.STDIN代表标准输入。对于终端界面来说,标准输入是键盘使用输入重定向符号(2.STDOUT代表标准输出。对于终端界面来说,标准输出是屏幕3.STDERR代表标准错误输出。默认情况下,STDOUT文件描述符和STDERR文件描述符指向同样的地方,即显示器。重定向S

2013-08-21 21:33:06 4327

翻译 android 在UI线程之外处理Bitmap - 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接Processing Bitmaps Off the UI Thread在UI线程之外处理BitmapThe BitmapFactory.decode* methods, discussed in the Load Large Bitmaps Efficiently lesson, shoul

2013-08-12 13:31:30 1730

翻译 android 有效加载大型Bitmap - 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接 Loading Large Bitmaps Efficiently有效加载大型Bitmap Images come in all shapes and sizes. 图片的形状和尺寸是各种各样的 In many cases they are larger than required for

2013-08-07 18:50:45 1646

原创 android安全问题(八)伪造短信(利用原生android4.0漏洞)

导读:本文利用android4.0的一个原生漏洞来伪造短信。无须声明任何权限即可伪造发送方为任何号码的短信给用户。 android4.0发布已经是很久很久很久很久以前的事情了,这个漏洞早就报了出来,之所以现在才写这篇文章,就是觉得,该升级的基本已经都升级了,该打补丁的基本都已经打了补丁,所以现在差不多是时候了。 原生android4.0系统中,Mms.apk的manifest有这样一段<servi

2013-08-03 13:04:10 9032 2

翻译 Android Interface Definition Language (AIDL) android接口定义语言 开发文档翻译 - 2

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接Passing Objects over IPC跨进程传递对象If you have a class that you would like to send from one process to another through an IPC interface, you can do tha

2013-07-18 18:22:08 2075

翻译 Android Interface Definition Language (AIDL) android接口定义语言 开发文档翻译 - 1

由于本人英文能力实在有限,不足之初敬请谅解本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接 Android Interface Definition Language (AIDL)android接口定义语言AIDL (Android Interface Definition Language) is similar to other IDLs you might have work

2013-07-16 21:59:38 2833

原创 查看apk签名

用shell写了一个查看apk签名的脚本。代码很少也很简单#!/bin/bashmypath=`pwd`filepath=""mkdir .temp_for_certificatecd .temp_for_certificatecount=0while [ -n "$1" ]  do      count=$[$count+1]    echo "(#$coun

2013-06-08 13:27:46 6688

空空如也

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

TA关注的人

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