Android 天南地北
文章平均质量分 86
Android 杂集
Jesse-csdn
典型软件攻城狮
展开
-
Android 可视化性能监控和辅助小工具合集
MagicBox是一款Android平台的小工具合集, 性能检测, 接口请求控制和拦截等功能集合. 建议在Debug和测试阶段使用.功能清单小工具: 提供各种小工具辅助开发测试, 并支持外部扩展.功能描述APP信息打开展示APP详细信息, 支持外部扩展设备信息打开展示设备详细信息仪表盘打开或关闭系统弹窗, 用于实时展示性能和网络数据Crash信息直接在APP内查看Crash信息, 也支持导出到SD卡沙盒查看查看APP沙盒空间, 支持文本预览和导原创 2020-06-15 10:42:03 · 3054 阅读 · 0 评论 -
Android 安全规约
Android 安全规约汇总了一些安全工具扫描的规则, Android的安全漏洞以及实际项目中需要注意的安全问题. 并分筛选出市面上加固方案和360火线扫描能够覆盖到的, 和需要手工检查的问题. 具体分布如下表所示.规约可以作为开发时的安全手册, 也可以作为上线前的安全问题checklist.原创 2017-06-12 09:23:07 · 1473 阅读 · 0 评论 -
Android 后台录制
关于后台运行的话,应该自己建一个Service,在Service中用MediaRecoder录像。但是有一个问题需要解决,需要改一下Android源码:在得到android.hardware.Camera对象后,如果不给Camera设置SurfaceHolder的话,CameraService会报错:mSurface or mPreviewWindow must be set befo转载 2014-10-13 15:11:23 · 14475 阅读 · 0 评论 -
配置SonarQube,Jenkins集成扫描Android项目
SonarQube是一款开源的质量管理平台, 可以从不同的维度分析项目的质量.也可以把SonarQube跟Jenkins结合起来, 从而帮助我们快递定位潜在的问题, 更好得把控项目输出的质量.SonarQube的安装分为两部分, 分别是Server和Scanner.Server是整个SonarQube平台运行基础.Scanner提供了代码扫描的功能, 以及针对Gradle的扫描配置.Jenkins的安装配置这里就不展原创 2017-02-12 14:28:58 · 7210 阅读 · 0 评论 -
Python 自动化加固流程
这里的加固指的是那种需要把文件上传到第三方网站上, 等它加固完成之后再下载下来的场景.这里就以梆梆加固为例, 通过Python脚本将这个过程自动化起来.既然牵扯到第三方的网站, 那么这个脚本绝大多数的操作都跟网络请求相关. 简单设计一下脚本的结构, 先封一个基类出来对外提供一些基础的网络操作, 方面以后扩展使用.子类根据实际的业务场景对外提供功能方法.原创 2017-02-19 12:48:22 · 3827 阅读 · 3 评论 -
Android 开发中使用 AOP
大家对AOP应该都不陌生, 就算没有用过也肯定听说过. 用过或了解过Java AOP的同学应该都知道AspectJ的大名. 因为AspectJ与java程序完全兼容,几乎是无缝关联, 所以只需要做一些简单的AJC适配就可以用在Android开发中. AspectJ用法简单容易上手, 不像之前说过的ASM那样有陡峭的学习曲线, 需要了解Java的字节码指令才能做代码注入. 同时AspectJ也很强大原创 2017-03-19 14:19:44 · 4491 阅读 · 1 评论 -
火线扫描Android静态代码
火线扫描是由360公司内部孵化出的免费静态代码扫描工具, 它目前最新版本v1.2.4主要针对Android静态代码的安全问题进行扫描. 在360内部该方案也服务于360安全卫士、手机助手、手机浏览器等15个App. 据火线的开发者说后续可能会对Kotlin(Android first-class开发语言)扫描、IOS扫描、圈复杂度和覆盖率统计等提供支持.并且火线是本地部署, 可以避免代码泄露和其他原创 2017-06-11 11:56:11 · 1896 阅读 · 0 评论 -
Android Gradle 插件编写
现在绝大多数的android项目都是使用gradle来构建了,相信大家对gradle已经很熟悉了.像是声明当前module为application, library或者java;又像通过配置android {...}的属性来影响构建或者编译的过程;或者当引入一些需要参与到编译过程的库时,经常需要使用自定义的gradle的插件.那么这些究竟是怎么实现的? 这篇文章就结合gradle配置,插件和Tas原创 2016-12-18 17:35:34 · 5402 阅读 · 3 评论 -
Android 热修复方案分析
绝大部分的APP项目其实都需要一个动态化方案,来应对线上紧急bug修复发新版本的高成本.之前有利用加壳,分拆两个dex结合DexClassLoader实现了一套全量更新的热更方案.实现原理在Android 基于Proxy/Delegate 实现bug热修复这篇博客中有分解.因为这套方案是在Java端实现,并且是全量更新所以兼容性较好,成功率较高.但是在线上跑了几个月之后就碰到了瓶颈,因为随着业务的增原创 2016-11-11 16:06:07 · 7064 阅读 · 0 评论 -
Android 日志管理框架 NativeLogger
日志是任何项目开发中的必须组件,它可以帮助我们.既然日志可以帮助我们做很多分析,那么开发者肯定是有很多定制需求的,例如不同环境过滤不同等级的log,格式化输出,输出到文件,打包日志上传分析等等.这里就针对Android平台开发一套日志框架.后续将持续完善. github地址:https://github.com/HiJesse/Android-NativeLogger功能清单 状原创 2016-09-12 13:35:36 · 8109 阅读 · 12 评论 -
Android 项目部署之Nexus私服搭建和应用
一.概述 Nexus是一个基于maven的仓库管理的社区项目.主要的使用场景就是可以在局域网搭建一个maven私服,用来部署第三方公共构件或者作为远程仓库在该局域网的一个代理.简单举几个例子就是: 1.第三方Jar包可以放在nexus上,项目可以直接通过Url和路径配置直接引用.方便进行统一管理. 2.同时有多个项目在开发的时候,一些共用基础模块可以单独抽取到nexus上,需要用的项目直接从nexus上拉取就行(基础模块的实现,维护和部署可以交给专门的人员,其他项原创 2015-09-23 16:33:29 · 17558 阅读 · 3 评论 -
Android 运行中效验文件完整合法性
1.概述 因为之前项目有动态热修复的功能,在修复的过程中会从服务器上下载一个新的dex文件来替换老的dex文件,所以就牵扯到文件身份效验的问题.通常接口会下发一个MD5值,只是一个MD5值的话只能做一个完整性效验,并不能确定文件的合法性,如果攻击者模拟接口下发一个正确的MD5值,照样可以替换文件.所以这里就在效验MD5完整性之后再根据签名做合法性效验.原创 2015-09-05 15:19:47 · 27586 阅读 · 8 评论 -
Android 5.0之后隐式声明Intent 启动Service引发的问题
一.概述 Android系统升级到5.0之后做了不少的变化(5.0变化),开发人员一定要注意这些变化,要不然就有的折腾了.这次最大的变化应该是把Dalvik虚拟机改成了ART(Android Runtime),后续会专门讲解这一块.其他的都是一些零碎的问题,例如前段时间发了一篇Android 5.0之后修改了HashMap的实现(传送门).这篇主要讲一下遇到跟Service相关的问题.原创 2015-08-13 15:16:24 · 38733 阅读 · 10 评论 -
Android 基于Proxy/Delegate 实现bug热修复
一.概述 现在越来越多的app开始采用本地app结合html5的设计结构,这样做不仅可以跨平台,并且在某个业务或模块出了严重的bug,可以直接在html5+后台实时修复,省去了发布新包和新版本的步骤.那么在不是html5结构的android app中怎么实现不重新打包更新版本的情况下实现热修复bug呢?这里介绍的一种方法是通过升级dex文件来修复线上包的紧急bug。二.实例三.总结原创 2015-07-21 12:08:45 · 16619 阅读 · 1 评论 -
Android 5.0之后对HashMap的修改
Android 5.0之后对HashMap的修改原创 2015-07-20 21:05:52 · 11214 阅读 · 1 评论 -
Android activity-alias 多入口配置
以前装应用的时候有些应用会在桌面上生成两个图标,这两个图标有些是同一个Activity的入口,有些是另外一个Activity的入口,这样的效果是怎么实现的呢?在看Android原生DeskClock程序的时候看到了这个功能的实现.使用的是activity-alias:1.语法格式<activity-alias android:enabled=["true" | "false"]原创 2015-07-11 10:27:02 · 18837 阅读 · 1 评论 -
Android 操作串口 (android serial port api)
Android平台操作串口原创 2014-11-29 15:13:20 · 35912 阅读 · 13 评论 -
Android 通过Jni调用Native
在Android项目中 编写c++动态链接库, 通过jni调用原创 2014-11-27 18:13:49 · 17162 阅读 · 0 评论 -
Android获取cpu使用率,剩余内存和硬盘容量
Android获取cpu使用率,剩余内存和硬盘容量原创 2014-11-09 17:20:59 · 31701 阅读 · 0 评论 -
Android 开发中使用开源框架 DataDroid
在Android项目中使用开源库DataDroid,利用该框架简化对数据的操作原创 2014-11-04 17:57:21 · 13702 阅读 · 0 评论 -
Android 使用DexClassLoader来运行其他apk中的方法
DexClassLoader 装载其他程序的类原创 2014-10-30 15:00:35 · 16767 阅读 · 3 评论 -
Android 时间戳的作用
我是在用MediaRecorder进行录像时发生视频和音频不同步的问题,请教了一些人后感觉应该是没有时间戳,之前一直认为时间戳就是给用户看的一个数据,查了一下发现不是的,下面是转载的,希望对大家有用:首先向大家介绍什么是时间戳。 说得通俗一些,时间戳就是根据当前系统时间生成的一组随机数字。时间戳一般作为对数据唯一性的一种判断依据。接下来向大家介绍一下我们可以如何运用时间戳。原创 2014-10-20 10:39:31 · 13898 阅读 · 1 评论