Android
文章平均质量分 66
liuyanggofurther
这个作者很懒,什么都没留下…
展开
-
使用VSCode调试zipalign源码
VSCode调试zipalign源码原创 2023-02-06 16:40:07 · 604 阅读 · 0 评论 -
zipalign在Windows平台处理大于2G apk问题
zipalign在Windows平台不能处理大于2GB的apk原创 2023-02-06 15:37:41 · 1383 阅读 · 14 评论 -
4. Android Framework - View的工作原理
ViewRoot和DecorViewMeasureSpec MesaureSpecMeasureSpec和LayoutParams的对应关系View的工作流程 measure过程layout过程draw过程自定义View 分类须知实例思想转载 2016-04-03 15:23:36 · 880 阅读 · 0 评论 -
7.2 Android Framework - FrameAnimation
顺序播放一组预先定义好的图片使用简单, 但容易OOM 语法<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:dr转载 2016-04-03 09:52:54 · 294 阅读 · 0 评论 -
7.1 Android Framework - ViewAnimation
View动画有四种, 分别为TranslateAnimation, ScaleAnimation, RotateAnimation和AlphaAnimation. 使用时建议使用xml定义. 语法<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@[package:]a转载 2016-04-03 09:34:56 · 491 阅读 · 0 评论 -
6.9 Android Framework - ClipDrawable
对应xml中clip标签, 根据自己当前等级裁剪另一个Drawable. 裁剪方向通过android:clipOrientation和android:gravity共同控制.<?xml version="1.0" encoding="utf-8"?><clip xmlns:android="http://schemas.android.com/apk/res/android" androi转载 2016-04-02 11:39:53 · 296 阅读 · 0 评论 -
6.8 Android Framework - ScaleDrawable
对应xml中的scale标签, 可以根据自己的等级将Drawable缩放到指定的比例. 不太清楚其使用场景.<?xml version="1.0" encoding="utf-8"?><scale xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/drawable_r转载 2016-04-02 11:27:12 · 332 阅读 · 0 评论 -
6.7 Android Framework - InsetDrawable
对应xml中的inset标签, 可以将其他Drawable嵌入自己中, 通常当一个View希望自己的背景比自己实际的区域小的时候使用.<?xml version="1.0" encoding="utf-8"?><inset xmlns:android="http://schemas.android.com/apk/res/android" android:insetTop="dimensi转载 2016-04-02 11:17:58 · 353 阅读 · 0 评论 -
6.6 Android Framework - TransitionDrawable
对应xml中transition标签, 用于实现两个Drawable间淡入淡出效果<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/@[package:转载 2016-04-02 11:07:29 · 230 阅读 · 0 评论 -
6.5 Android Framework - LevelListDrawable
对应于xml中level-list标签, 每个Drawable都有一个level的概念, 根据不同的等级, 系统会显示不同level的Drawable.<?xml version="1.0" encoding="utf-8"?><level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item转载 2016-04-02 11:02:29 · 248 阅读 · 0 评论 -
6.4 Android Framework - StateListDrawable
对应xml中selector标签, 每个Drawable对应一个View的状态, 系统根据View的状态选择不同的Drawable.<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize=["转载 2016-04-02 10:37:36 · 621 阅读 · 0 评论 -
7.3 Android Framework - LayoutAnimation
作用于ViewGroup, 当ViewGroup的子元素出场时都会有这种动画效果 语法<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:animation="@anim/abc_fade_in" android:animationOrder=["normal" |转载 2016-04-03 10:07:56 · 285 阅读 · 0 评论 -
7.3 Android Framework - PropertyAnimation
API11 引入的特性, ValueAnimator, ObjectAnimator, AnimatorSet 语法<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:ordering=["sequentially" |转载 2016-04-03 10:22:48 · 340 阅读 · 0 评论 -
Android逆向分析基础-Dalvik虚拟机
Dalvik虚拟机的特点 运行Dalvik字节码, 而不是Java字节码基于寄存器架构, 而不是基于栈架构Dalvik可执行文件把class文件压缩合并, 使其变得更小Dalvik 是怎样执行程序的 Linux的init进程做设备初始化init通过init.rc启动ZygoteZygote初始化Dalvik VMZygote启动system_server, system_server转载 2016-02-25 19:00:49 · 405 阅读 · 0 评论 -
Huawei MediaPad 10 FHD(101u) 精简版ROM
http://pan.baidu.com/s/1hsowP1a内含 * SD卡升级指导书 * 精简版ROM * CUST 和 SYSTEM解包后的镜像原创 2017-10-19 20:12:55 · 4910 阅读 · 1 评论 -
一些android预装应用名字对应关系
应用名 用途 Galaxy4.apk 黑洞(系统自带壁纸) HoloSpiralWallpaper.apk 全息螺旋壁纸 DeskClock.apk 时钟 PhaseBeam.apk 动态壁纸 PicoTTS.apk 文字转语音原创 2017-10-15 21:20:11 · 516 阅读 · 0 评论 -
精简Miui9
system/app 名字 作用 AnalyticsCore 广告和信息手机 AntHalService FM收音机 AppIndexProvider 应用索引 BasicDreams 4.4的主题 BugReport 崩溃报告 CaptivePortalLogin 因特网链接测试服务 CertInstaller 证书安装向导 Cit原创 2017-10-17 18:53:28 · 13449 阅读 · 2 评论 -
Android adb 命令备忘
查找栈顶activityadb shell dumpsys activity | findStr mFocusedActivity原创 2016-07-09 14:41:02 · 255 阅读 · 0 评论 -
5. Android Framework - RemoteViews
RemoteViews的应用 通知栏桌面小部件PendingIntent概述RemoteViews的内部机制RemoteViews的意义转载 2016-03-25 16:17:08 · 444 阅读 · 0 评论 -
3. Android Framework - View
基础知识 什么是ViewView的位置参数MotionEvent和TouchSlopVelocityTracker, GestureDetector和ScrollerView的滑动 使用scrollTo和scrollBy使用动画改变布局参数各种滑动方式的对比弹性滑动 使用Scroller通过动画使用延时策略View的事件分发机制 点击事件的传递规则事件分发源码解析V转载 2016-03-21 14:23:23 · 517 阅读 · 0 评论 -
一种使用Zip文件的Comment字段实现的多渠道方案
转载与此 本功能所涉及到的原理在上述文章中已有阐述, 这里主要是将实现代码贴出来想apk文件中写入Comment的代码段public static void setZipComment(String filePath, String comment) { File file = new File(filePath); ZipFile zipFile = null; Byt转载 2016-03-25 11:55:28 · 3827 阅读 · 2 评论 -
Android逆向分析基础-ARM 汇编语言基础
Android与ARM处理器 ARM处理器架构概述ARM处理器家族Android支持的处理器架构 ARMx86MIPS原生程序与ARM汇编语言逆向初步原生程序的生成过程 预处理 gcc -E hello.c hello.i编译 gcc -S hello.i -o hello.s汇编 gcc -c hello.s -o hello.o链接 gcc hello.o -o hell转载 2016-03-12 17:21:01 · 891 阅读 · 0 评论 -
6.3 Android Framework - LayerDrawable
对应xml标签是layer-list, 是一种层次的Drawable集合, 通过叠加实现效果<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@[packa转载 2016-04-02 10:20:55 · 628 阅读 · 0 评论 -
6.2 Android Framework - ShapeDrawable
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | "ring" ] > <corners android:radiu转载 2016-04-02 10:02:05 · 267 阅读 · 0 评论 -
6.1 Android Framework - BitmapDrawable
简介Drawable的分类 BitmapDrawableShapeDrawableLayerDrawableStateListDrawableLevelListDrawableTransitionDrawableInsetDrawableScaleDrawableClipDrawable自定义Drawable转载 2016-03-27 13:05:26 · 282 阅读 · 0 评论 -
Android UI 中常用技巧总结
线性布局分割线android:divider="@drawable/shape"<!--分割线图片-->android:showDividers="middle|beginning|end" <!--分割线位置-->原创 2015-06-01 15:07:52 · 846 阅读 · 0 评论 -
Android 问题备忘
1. 视图相关 1.1 ListView 1.1.1 Adapter.getView 方法多次调用问题 ListView布局时height和width都不是match_parent, 导致不断计算高度, 不断刷新.原创 2015-01-22 11:07:08 · 410 阅读 · 0 评论 -
管理应用程序内存
本文转载自http://www.pocketdigi.com/20140607/1334.html 并修改了部分文字在任何软件开发环境中, RAM都是宝贵的资源,但在移动操作系统中更加珍贵, 因为这些设备的物理内存通常都是受限的. 尽管Dalvik虚拟机有例行地垃圾回收机制, 但这不能成为忽略内存分配和释放的理由.为了让GC回收内存, 你要避免内存泄漏(通常因为全局成员变量引用转载 2014-12-12 16:56:47 · 682 阅读 · 0 评论 -
使用adb sideload 本地OTA升级Nexus 5(Android 5.0 -> Android 5.0.1)
Nexus 5 5.0升级到5.0.1原创 2014-12-18 10:56:48 · 3591 阅读 · 0 评论 -
ProGuard工具使用
ProGuard工具通过移除未使用代码和使用语义模糊的名字重命名类、成员变量及方法, 从而实现减小、优化和混淆应用程序代码.使用ProGuard工具后, 会得到一个更小的.apk文件, 并且使得逆向工程更加困难. 因为ProGuard使得应用程序的逆向工程更加困难,所以当应用程序用到了对安全很敏感的特性时, 就有必要使用ProGuard工具了.翻译 2014-11-29 10:04:40 · 1004 阅读 · 0 评论 -
编译Android4.0.4源代码
系统环境:Ubuntu 12.041. 下载android_4.0.4 curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ./repo repo init -u https://android.googlesource.com/platform/manifest-b android-4.0.4_原创 2013-06-11 20:09:04 · 853 阅读 · 0 评论 -
Android 动画
1. 动画 Android框架提供两种动画系统:属性动画(Android 3.0引入的)和视图动画. 这两者都是可行的选择, 但总体上, 属性动画是更好的方法, 因为它更灵活而且提供了更多的特性. 作为这两种动画系统的补充, 也可是使用Drawable动画, 它使你可以加载drawable资源, 并且一帧一帧地显示.1.1 属性动画(Property Animati翻译 2014-10-19 20:07:38 · 431 阅读 · 0 评论 -
Fragment
1. Fragment 是什么翻译 2014-09-27 18:22:02 · 703 阅读 · 0 评论 -
android绘制矩形框-不要描边
<item android:bottom="-1px" android:top="-1px"> <stroke android:width="1dp" android:color="@color/stroke_color" />原创 2015-08-14 17:54:12 · 2020 阅读 · 0 评论 -
Android Studio 差分升级
下载差分升级包打开Android Sdudio, Help -> About 查看当前版本, 如下图 点击这里查看最新build版本号, 红线框住部分是最新build的版本好, 如下图 拼接差分包下载地址格式如下(windows系统) https://dl.google.com/android/studio/patches/AI-FROM-TO-patch-win.jar 其中FROM使用第一原创 2015-08-26 09:50:47 · 939 阅读 · 0 评论 -
1. Android Framework-Acitivty
Activity的生命周期正常情况 回调方法 一般情况做的工作 备注 onCreate 初始化工作 onRestart 重新启动时回调, 用户行为所致 onStart 已经可见, 但还没有出现在前台, 不能交互 onResume 已经可见, 并出现在前台, 可以交互 onPause 正在停止, 可以存储数据, 但不可太耗转载 2016-03-19 11:56:56 · 318 阅读 · 0 评论 -
2. Android Framework - IPC机制
简介多进程模式 开启多进程模式多进程模式的运行机制IPC基础概念 Serializable接口Parcelable接口BinderAndroid中的IPC方式 使用Bundle使用文件共享使用Messenger使用AIDL使用ContentProvider使用SocketBinder连接池选用合适的IPC方式转载 2016-03-19 16:30:21 · 409 阅读 · 0 评论 -
Android逆向分析基础-反破解技术
对抗反编译 通过反编译工具不支持的操作码等, 对抗反编译, 意义不大对抗静态分析 代码混淆NDK保护 适合关键代码, 但总感觉舍近求远外壳保护 加壳原理及技术之一对抗动态调试检测调试器android.os.Debug.isDebuggererConnected()检测模拟器ro.product.model 在模拟器中为sdkro.build.tags在模拟器中为test-k转载 2016-03-18 13:48:45 · 499 阅读 · 0 评论 -
Android逆向分析基础-静态分析Android程序
什么是静态分析快速定位Android程序的关键代码Smali文件格式Android程序中的类阅读反编译的Smali代码使用IDA Pro静态分析Android程序恶意软件分析工具包-Androguard其他静态分析工具阅读反编译的Java代码转载 2016-03-01 14:39:11 · 742 阅读 · 0 评论 -
计算apk中方法数的脚本
#! /bin/sh# 获得完整apk路径APK_PATH=$1# 创建一个临时目录,来解压这个apk文件rm -rf apk_tempmkdir apk_tempcp $APK_PATH apk_temp/cd apk_temp# 获得apk的名称APK_NAME="$(basename *.apk)"# 重命名为zipmv $APK_NAME $APK_NAME.zip# 解压ap转载 2016-03-01 14:10:25 · 383 阅读 · 0 评论