Android
文章平均质量分 74
独坐一隅
道法自然
展开
-
ADT Bundle下新建安卓项目的同时会新增一个appcompat_v7_n的原因
转自:u013521089的博客问题描述:使用eclipse创建一个Android项目时,发现project列表中会多创建出一个appcompat_v7项目,再创建一个Android项目时,又会再多出一个appcompat_v7_2,如果再次创建,会以此类推地创建出appcompat_v7_x格式的“多余项目”出来(此情况在ADT升级为22.6.x版本后出现,22.3.x前的版本不转载 2015-07-27 20:17:30 · 1220 阅读 · 0 评论 -
android 手势触发图片缩放拖动(包含缩放图片时图片的大小判断以及拖动图片时图片的边界判断)
定义ImageView,实现功能如下:1.初始化时图片垂直居中显示,拉伸图片宽度至ImageView宽度。2.使用两根手指放大缩小图片,可设置最大放大倍数,当图片小于ImageView宽度时,在手指离开屏幕时恢复到ImageView宽度。3.支持双击放大缩小。当图片处于未放大状态时,双击放大至指定倍数,当图片处于放大状态时,双击恢复至未放大状态。4.图片拖动效果。当转载 2016-02-19 14:05:04 · 6224 阅读 · 1 评论 -
android 图片缩放后划屏拖动图片与Viewpager切换Item冲突(拖动图片的事件相应被屏蔽)问题解决
在上一篇文章《android 手势触发图片缩放拖动(包含缩放图片时图片的大小判断以及拖动图片时图片的边界判断)》最后提出了一个注意点:当自定义的MatrixImageView如ViewPager、ListView等带有滑动效果的ViewGroup中时,ImageView自定义的拖动事件会和ViewGroup的滑动事件冲突,并且指出了冲突原因是由于ViewGroup拦截了Move事件的缘故。这篇文章转载 2016-02-19 14:48:36 · 3151 阅读 · 0 评论 -
Android逆向系列之动态调试7–IDA调试so文件(上)
一、前奏1.demo.apk、IDA6.6以上、adb等工具,具体可参考工具篇demo.apk的主逻辑代码如下:2.什么是so文件?so文件是unix的动态连接库,我们知道Android系统是类linux,所以这里也沿用其动态链接库so,一般用c语言实现,是二进制文件,作用相当于windows下的.dll文件,在Android中调用动态库文件(*.so)都是转载 2017-09-15 15:34:35 · 21682 阅读 · 0 评论 -
Android逆向系列之动态调试6–gdb调试
一、环境准备ndk、模拟器(需要root权限,可以使用命令: adb root)二、调试准备1.gdbserver找到gdbserver,路径是 ndk目录下的prebuilt文件夹,其中有三个Android开头的文件夹,选择对应自己的CPU,进入文件夹即是gdbserver(这里是选择android-arm/gdbserver)接下里将gdbserver传到模拟器中,命令转载 2017-09-15 15:25:18 · 2533 阅读 · 0 评论 -
Android逆向系列之动态调试5–代码注入(JDB调试)
一、环境本次实验需要的环境有JDK、模拟器、adb破解思路:通过jdb动态调试找到正确的变量,然后进行代码注入,修改Try again 为Hacked!!二、准备老操作,反编译APK,然后查看AndroidManifest.xml中是否有 android:debuggable=”true” 没有则在相应位置添加启动模拟器或连接真机,然后安装apk –> adb instal转载 2017-09-15 14:39:51 · 3330 阅读 · 0 评论 -
Android逆向系列之动态调试4–IDA调试dex
一、准备在APK改之理里双击打开AndroidManifest.xml,为了让APP可调试,需要在application 标签里添加一句android:debuggable=”true”保存,然后回编译成apk,安装到模拟器或者真机中二、调试配置1.将APP包里的classes.dex解压到任意一目录,然后拖进IDA。等待IDA加载分析完毕,点击Debugger->Debu转载 2017-09-15 14:35:57 · 2771 阅读 · 0 评论 -
Android逆向系列之动态调试3–Eclipse调试apk
一、反编译APK这里反编译的时候要记得带上 -d参数,以便动态调试apktool d -d demo.apk二、添加属性在AndroidManifest.xml的application添加属性:android:debuggable=”true”三、添加调试语句在主Activity的OnCreate函数下一行添加:a=0;// invoke-static转载 2017-09-15 14:33:07 · 1721 阅读 · 0 评论 -
Android逆向系列之动态调试2–Smali注入
一、Smali注入Smali注入又称Smali插桩(Smali Instrumentation),WIKI解释:它是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(又称为“探测仪”),通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,可以获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。这里我们注意几个词,保证程序原有逻辑性、插入探针、抛出转载 2017-09-15 14:30:20 · 2957 阅读 · 1 评论 -
Android逆向系列之动态调试1–入门篇
一、什么是动态调试动态的意思就是指通过在真实或模拟环境中执行程序进行分析的方法,多用于性能测试、功能测试、内存泄露测试等方面。百度百科:动态调试是指软件作者利用集成环境(IDE)自带的调试器跟踪自己软件的运行,来协助解决自己软件的错误同样的,动态调试分为Java层和native层动态调试Java层动态调试主要是调试smali文件native层动态调试主要是调试so文件转载 2017-09-15 14:27:18 · 4851 阅读 · 2 评论 -
Android逆向系列之动态调试8–IDA调试so文件(下)
一、环境准备工具详见、破解的apk demo: Alictf2014_2.APK(反调试)、apktool上一篇文章是讲解了IDA在无反调试的情况下调试so文件,这一篇文章自然就是解决在有反调试的情况下,如何使用IDA调试so文件,下一篇文章将会讲解dump dex的方法,敬请关注!二、调试准备1、同样的老操作,确保XML里的android:debuggable=”转载 2017-09-15 15:36:14 · 1453 阅读 · 0 评论 -
android内存泄漏的原因
内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。 内存泄漏简单地说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。转载 2016-02-18 13:12:24 · 917 阅读 · 0 评论 -
Android4笔记之定制To-Do List
To-Do List示例使用了TextView来表示列表视图的每一行。可以通过扩展TextView及重写onDraw方法来定制列表的外观。在以下这个例子中,将创建一个新的ToDoListItemView,它可以使每一个条目的外观成为像在笔记本中的那样。原创 2016-03-03 17:01:00 · 1877 阅读 · 0 评论 -
android程序在真机上运行无法显示所有LogCat信息问题解决
1、拨号键盘输入*20121220#2、找到“日志输出级别”栏目点击进去选择Java log level3、选择LOGD原创 2016-01-16 14:36:50 · 1321 阅读 · 0 评论 -
You need to use a Theme.AppCompat theme (or descendant) with this activity错误解决
错误信息:Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.解决方法一:当在AndroidManifest.xml文件的application的节点设置了属性:an转载 2016-01-21 11:01:50 · 917 阅读 · 0 评论 -
You cannot combine custom titles with other title features
错误提示:You cannot combine custom titles with other title features报错场景:想要使用自定义的标题栏错误原因:错误提示翻译过来应该是不能再其他标题(应该是已有的)上添加自定义标题解决方法:一遇到这个问题就只能上网找解决方法,网上多是说是引用的Theme和API版本的原因,由于刚开始学安卓也看不太懂他们说的原创 2016-01-21 13:17:57 · 1215 阅读 · 0 评论 -
Android 多线程-----AsyncTask详解
原文地址:http://www.cnblogs.com/xiaoluo501395377/p/3430542.html本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信。一、Android当中的多线程在Android当中,当一个应用程序的组件启动的时候,并且没有其他的应用程序组件在运行时,Android系统就会转载 2016-01-25 15:34:50 · 860 阅读 · 0 评论 -
universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
在listview/gridview中使用UIL来display每个item的图片,当图片数量较多需要滑动滚动时会出现卡顿,而且加载过的图片再次上翻后依然会重复加载(显示设置好的加载中图片)最近在使用UIL遇到了这个问题,相信这个问题许多使用UIL的人都碰到过现在把解决方法贴出来给有同样问题的朋友做参考先看下UIL的工作流程在已经允许内存,存储卡缓存的前提下转载 2016-02-17 10:21:16 · 1200 阅读 · 0 评论 -
RecyclerView使用详解(三)
在上一篇(RecyclerView使用详解(二))文章中介绍了RecyclerView的多Item布局实现,接下来要来讲讲RecyclerView的Cursor实现,相较于之前的实现,Cursor有更多的使用场景,也更加的常用,特别是配合LoaderManager和CursorLoader进行数据的缓存及加载显示,基于此我们来重点看看RecyclerView的CursorAdapter具体要怎么实转载 2016-03-03 15:23:42 · 1517 阅读 · 0 评论 -
RecyclerView使用详解(二)
在上一篇(RecyclerView使用详解(一))文章中简单的介绍了RecyclerView的基本用法,接下来要来讲讲RecyclerView的更多用法,要实现不同的功能效果,大部分都还是在于RecyclerView的Adapter写法,所以我们着重来看看几种不同功能的Adapter写法。一、多Item布局实现(MultipleItem)如果之前你用过ListView实现过此功能,转载 2016-03-03 15:20:31 · 1680 阅读 · 0 评论 -
RecyclerView使用详解(一)
一、前言RecyclerView是谷歌V7包下新增的控件,用来替代ListView的使用,在RecyclerView标准化了ViewHolder类似于ListView中convertView用来做视图缓.先来说说RecyclerView的有点就是,他可以通过设置LayoutManager来快速实现listview、gridview、瀑布流的效果,而且还可以设置横向和纵向显示,添加动转载 2016-03-03 15:18:13 · 3562 阅读 · 0 评论 -
Android虚拟机、模拟器识别
在我们开发的App中,我们可能不希望它被运行在模拟器上,所以我们需要一种手段去检测模拟器,当当前设备被检测为模拟器时,我们就直接结束掉App进程。目前常见的检测模拟器手段主要被应用在游戏领域和加固领域。通常我们去检测模拟器时会利用一些Android系统的运行特征,但这些方式比较复杂也比较难以理解,需要对Android系统有比较深入的了解,如何有一种办法比较高容错率并且检测效果还不错呢,之前转载 2017-09-05 16:41:24 · 12922 阅读 · 2 评论