reference to :  http://***/Article/11768 有时候我们写的app要用uid=0的方式启动一个process,framework层和app层是做不到的,只有通过写脚本,利用am来实现.下面是具体步骤: 1.创建一个包含Main()方法Java project 1.1.创建一个Java project 1.2.添加Main()方法 1.3.导出为jar包 1.4.将java 版本的jar变成android 版本的jar 首先,找到dx工具所在文件夹,如andro…
有时候我们写的app要用uid=0的方式启动一个process,framework层和app层是做不到的,只有通过写脚本,利用am来实现.下面是具体步骤: 1.创建一个包含Main()方法Java project 1.1.创建一个Java project 1.2.添加Main()方法 1.3.导出为jar包 1.4.将java 版本的jar变成android 版本的jar 首先,找到dx工具所在文件夹,如android-sdk/build-tools/20.0.0,并将该文件夹加入到环境变量PA…
原文地址: Android 设备,如何root,执行adb shell,查看设备中的数据库信息等…
/etc/shells [root@localhost ~]# more /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh echo -e 相关转义符 \\ 输入\ \a 输出警告音 \b 退格,即向左删除一个字符 \c 取消输出行末的换行符,和-n选项一致 \e Esc \f 换页符 \n 换行 \r 回车 \t 制表,即Tab \…
许 多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简 单及安全的,破解Root权限的原理就是在手机的/system/bin/或/system/xbin/目录下放置一个可执行文件“su”,这是一个二进 制文件,相当于电脑上的exe文件,仅仅在系统中置入这个“su”文件是不会给手机的软件或硬件造成任何故障. 下面的代码是android系统原版的su中的部分代码,可以看出只允许getuid()为AID_RO…
reference to  :  http://www.infoq.com/cn/articles/android-accessibility-installing?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global 对于国内Android设备,应用的自动批量安装/更新一直是一个痛点,在之前,第三方应用商店通常要求设备Root,然后调用系统的 PackageManagerServic…
android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问"properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded) android.permission.ACCESS_COARSE_LOCATION允许一个程序访问Cel…
reference to : http://www.open-open.com/lib/view/open1405061994872.html Android提供的dumpsys工具可以用于查看感兴趣的系统服务信息与状态,手机连接电脑后可以直接命令行执行adb shell dumpsys 查看所有支持的Service但是这样输出的太多,可以通过dumpsys | grep "DUMP OF SERVICE" 仅显示主要的Service的信息 一.列出dumpsys所有支持命令 $ du…
参考文档:http://blog.csdn.net/xueyepiaoling/article/details/8202359转载自:http://glblong.blog.51cto.com/3058613/1263969 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt. 如果需要对项目进行全局混码,只需要进行一步操作: 将project.properties的中 “#  proguard…
adb shellcat proc/uid_stat/%uid%/tcp_snd  proc/uid_stat/%uid%/tcp_rcv ------------------------------------------------------------------------------------------------ 抓包准备 1. 手机要有root权限 2. 下载tcpdump   http://www.strazzere.com/android/tcpdump 3. adb p…
reference to : http://www.linuxidc.com/Linux/2014-12/110165.htm 前一篇文章主要讲了自定义View为什么要重载onMeasure()方法(见 http://www.linuxidc.com/Linux/2014-12/110164.htm),那么,自定义ViewGroup又都有哪些方法需要重载或者实现呢 ? Android开 发中,对于自定义View,分为两种,一种是自定义控件(继承View类),另一种是自定义布局容器(继承ViewG…
reference to : http://www.linuxidc.com/Linux/2014-12/110164.htm Android开 发中偶尔会用到自定义View,一般情况下,自定义View都需要继承View类的onMeasure方法,那么,为什么要继承onMeasure()函 数呢?什么情况下要继承onMeasure()?系统默认的onMeasure()函数行为是怎样的 ?本文就探究探究这些问题. 首先,我们写一个自定义View,直接调用系统默认的onMeasure函数,看看会是怎…
reference to  :  http://blog.csdn.net/lovexieyuan520/article/details/50846569 在默认的Android控件ListView在顶部是不显示分割线的,但是我们可以使用一些技巧来显示.我们先来看下默认情况下ListView显示的效果: 可以看到顶部是没有分割线的,但是有时候我们的美工硬是在上面画了一条分割线,没办法,我们也得加上,我们在ListView顶部加上一个Header就可以实现,代码如下 listView.addHea…
reference : http://m.blog.csdn.net/blog/langzxz/45308199 reference : http://blog.csdn.net/hyhyl1990/article/details/46842915 Android原生是有应用程序权限管理的,即是AppOps,只是Google把它默认隐藏了. 本文对AppOps机制做一简要的分析和描述. 1.     AppOps 简介 AppOps全称是 Application Operations,类似我们平…
reference to : http://blog.csdn.net/yihongyuelan/article/details/40977323 概况 Android在4.3的版本中(即API 18)加入了NotificationListenerService,根据SDK的描述(AndroidDeveloper)可以知道,当系统收到新的通知或者通知被删除时,会触发NotificationListenerService的回调方法.同时在Android 4.4 中新增了Notification.e…
转载自: http://www.thinksaas.cn/group/topic/335449/ http://blog.csdn.net/u010571535/article/details/8992543# 一.Android证书的格式 Android签名中证书的格式采用X.509标准的版本三,不过省略了一些内容. X.509证书格式如下图所示: 二.证书的格式示例 从Chrome浏览器中导出一个证书,打开之后的样子如下图所示: 说明:由上图可以看出,在证书中,开发者的公钥是显式存在的. 三…
reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中,我们时常要对Android进行改进并对其进行源码编译,由于目前几乎所有的手机厂商均对其底层驱动实行封闭政策,导致我们在完成Android编译后无法将我们编译好的系统刷到普通的Android手机上,因此在一般的科学实验中我们更多的是将修改好的android源码编译成模拟器,以模拟器的形式证明实验的成功…
1: 杀死自己进程的方法 android.os.Process.killProcess(Process.myPid()); 2:杀死别人进程的方法(不能杀死自己) -------a: activityManager.killBackgroundProcesses ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); activityManager.killBa…
用于为一个里面的控件,或者是一个里面的控件设置动画效果,可以在文件中设置,亦可以在代码中设置. 一种直接在XML文件中设置 1.  在res/anim文件夹下新建一个XML文件,名为list_anim_layout.xml, <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:delay="30%" android:animationOrder=…
转载:http://blog.csdn.net/feng88724/article/details/6409313 其实Android在定义 permission 时, 为每个Permission都进行了分组, 每一个Permission都有一个PermissionGroup属性. 来看一下Android源码(在frameworks/base/core/res /AndroidManifest.xml): 可以看到,这边先定义了一个PermissionGroup 后又定义了Permission…
shell脚本中判断上一个命令是否执行成功  shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败.结合if-else语句实现判断上一个命令是否执行成功. 场景:如果clone项目成功,才进行打包工作 示例脚本: echo "clone命令" git clone -b <branchName> <gitAddress> ]; then echo "faild" else echo "succ…
参考文章: https://developers.google.com/android/nexus/images 转载自:    http://www.inexus.co/article-1280-1.html 本文标黄色的获取ROOT权限的部分已经在安卓5.1下验证通过,解锁过程参考的是:https://developers.google.com/android/nexus/images 下文中的视频请到: http://www.inexus.co/article-1280-1.html 处看…
Android root 工具:http://www.z4root.cn/yijianrootshouji/ 推荐的是:root精灵手机版 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,能修改网卡地址,ROM系统等 但是对于刚接触它的朋友来说,要使用BusyBox其中的工具可以说是无从下手的.下面介绍它的使用方法. 1.手机首先有ROOT权限.(不知道手机怎样才能取得ROOT权限的,可以百度下) 2.安装…
Android打包成Apk后,其实是一个压缩文件,我们用winrar打开也能看到里面的文件结构.还能看到AndroidManifest.但是里面的内容有点问题. 不知道是因为加密还是Android就是如此,打开AndroidManifest后看到的VersionCode和VersionName是乱码... 于是网上搜索到下面的方法. aapt工具,平时我们不会用这个东西,但是打包成Apk的时候其实是用到了的,只不过IDE替我们做了这一步,那么我们就用这个工具来查看VersionCode和Vers…
reference : http://bbs.gfan.com/android-8001827-1-1.html 2. 刷机和刷入recovery 建议参考 置顶教程: [15年3月31日更新]Nexus 5 一键刷机教程,刷机一键搞定 3. Root 首先需要下载以下几个文件: TWRP recovery  : https://twrp.me/Devices/ SuperSU Beta 2.49 : 链接: http://pan.baidu.com/s/1nt3P6Nf 密码: 7bmv   …
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37815413 1. 概述 DialogFragment在android 3.0时被引入.是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框.典型的用于:展示警告框,输入框,确认框等等. 在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog.注:官方不推荐直接使用Dialog创建对话框. 2. 好处与…
首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通过Linux的资源监控命令来实现对android平台的资源实时监控. 要做到上边的测试环境的实现,需要具备以下几点: 1.被测试的手机具备root权限:因为涉及到底层的linux命令,需要读取或执行相应的文件.至于如何root你的手机,不同型号的手机root的方法不…
1.foreground process     正处于activity resume状态     正处于bound服务交互的状态     正处于服务在前台运行的状态(StartForeGround()被调用)     Service生命周期正在被执行(onCreate(),onStart(),onDestroy())     BroadcastReceiver正在执行onReceive()方法     杀死foreground需要用户响应,因为这个安全优先级是最高的     是用户操作所必须的…
reference to : http://blog.csdn.net/happy_horse/article/details/51518280 最近项目中涉及到加载本地的地名.db文件,数据量大,自然不能直接放在UI线程中操作,好在Google在Android3.0以后,提供了AsyncTaskLoader来做一些耗时的异步任务. 一 官方对AsyncTaskLoader的定义及特点介绍如下: Abstract Loader that provides an AsyncTask to do t…
reference to :http://blog.csdn.net/koffuxu/article/details/44780351 Android libdvm.so 与 libart.so   系统升级到5.1之后,发现system/lib/下面没有libdvm.so了,只剩下了libart.so.对于libart模式,从4.4就在Developer optins里面就可以手动选择,到5.1算是转正了.   1,什么是libdvm,libart. Android KK里引入了ART虚拟机作…