- 博客(63)
- 资源 (19)
- 收藏
- 关注
转载 Android Studio的Instant Run工作原理及用法
前言看到一篇介绍Instant Run的文章,觉得蛮不错的,翻译记录一下,其中夹杂着自己的理解(原文地址),最后附上Install Run的使用方法。(本文图片出处)tips:文中所有链接地址都国内或许不能访问Instant RunInstant Run,是android studio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和
2017-04-28 17:55:00 975
转载 commons-codec包简介
包含一些通用的编码解码算法。包括一些语音编码器,Hex,Base64commons-codec包可以从apache下载,最新版是1.3不可逆算法1.MD5String str = "abc";DigestUtils.md5Hex(str);附.net生成MD5的方法,生成内容跟Java一致:String str = "abc";FormsAu
2017-04-28 13:53:07 1691
转载 基于 Facebook Redex 实现 Android APK 的压缩和优化
最近 Facebook 开源了一个名为 Redex[1] 的工具包,专门用于 Android 字节码的优化,经过 Redex 转换后的 APK,体积变得更小,运行速度变得更快。Redex 基于管道的方式来优化 Android 的.dex 文件,一个源 .dex 文件通过管道进行一系列的自定义转换后,将得到一个优化的 .dex 文件。接下来将带大家简单快速的了解 Redex 是什么,以及它的基本
2017-04-28 13:33:16 695
转载 Android笔记:Android 7.0 FileUriExposedException 解决
从Android 7.0开始,一个应用提供自身文件给其它应用使用时,如果给出一个file://格式的URI的话,应用会抛出FileUriExposedException。这是由于谷歌认为目标app可能不具有文件权限,会造成潜在的问题。所以让这一行为快速失败。详见这里。这里讨论两种解决方式。1 FileProvider方式这是谷歌官方推荐的解决方案。即使用FileProvider来生成一个c
2017-04-27 16:58:36 612
转载 跨域与跨域访问
什么是跨域跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域为什么浏览器要限制跨域访问呢?原因就是安全问题:如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题。比如下面的操作就有安全问
2017-04-26 18:45:02 291
转载 HashMap多线程并发问题分析
并发问题的症状多线程put后可能导致get死循环从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个
2017-04-25 14:12:46 536
转载 MAC上反编译android apk---apktool, dex2jar, jd-jui安装使用(含手动签名)
前文 介绍了在Windows平台利用强大的APK-Multi-Tool进行反编译apk,修改smali源码后再回编译成apk的流程,最近受人之托,破解个apk,所幸的是所用到的这三个软件都是跨平台的,mac上也妥妥的。这里记录下在mac上所用的东西和流程。总共需要三个软件,为了便于找到最新的版本,把官网也放后面:Apktool:http://ibotpeaches.github.i
2017-04-24 22:11:06 866
转载 Android之WebView优化之路
前言随着app的迭代,嵌入的HTML5界面越来越多了,Webview这个强大组件引起的问题越发的多起来,例如:1、WebView导致的oom问题2、Android版本不同,采用了不同的内核,兼容性crash3、不同版本实现不同,甚至URI不规范也会引起不同程度的问题为了解决以上问题,我们把WebView模块做成独立进程WebView独立进程
2017-04-24 21:44:23 796
转载 WebViewClient与WebChromeClient的区别
Android应用开发的时候可能会用到WebView这个组件,使用过程中可能会接触到WebViewClient与WebChromeClient,那么这两个类到底有什么不同呢?WebViewClient主要帮助WebView处理各种通知、请求事件的,比如:onLoadResourceonPageStartonPageFinish
2017-04-24 11:34:18 472
转载 阿里聚安全Webview安全攻防
背景:Webview安全风险之前一直没引起重视,直到addJavascriptInterface挂马漏洞拉开了Webview安全风险的序幕。由于Android版本的碎片化,导致Webview存在大量的Nday漏洞和安全风险。阿里聚安全专家将会对Webview存在的安全风险进行整理及防御方案探讨。一、 UXSS漏洞攻击Webview历史上存在大量的Nday漏洞,包括但不限于UXSS漏洞、远
2017-04-23 21:26:39 1441
转载 Android WebView的Js对象注入漏洞解决方案
最近在做一个项目过程中,发现了一个很严重的安全漏洞,这个漏洞是乌云平台(http://www.wooyun.org)报告出来的。1,使用场景我们很多时候要使用WebView来展示一个网页,现在很多应用为了做到服务端可控,很多结果页都是网页的,而不是本地实现,这样做有很多好处,比如界面的改变不需要重新发布新版本,直接在Server端修改就行了。用网页来展示界面,通常情况下都或多或少都与Jav
2017-04-23 21:18:30 525
转载 在 Mac OS X中校验文件的SHA1值
SHA1 值常用于检验分布后的文件是否受损或缺失。通常情况下,用 SHA1 验证可以检查传输后的文件是否仍是原始文件。如果 SHA1 值和分发者提供的相符,那么文件就没有受损或被篡改。如何在 Mac OS X 中检验某个文件的 SHA1 值运行终端(应用程序 – 实用工具 – 终端.app),并按以下语法执行检查:shasum /path/to/file例如,要检查桌面上一
2017-04-23 20:38:33 8909
转载 Android应用程序签名过程分析
在正式解释Android应用程序签名过程之前,作为铺垫,还得先讲讲最基本的一些概念。非对称加密算法非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法是数字签
2017-04-23 17:08:09 473
转载 Android签名机制之---签名过程详解
一、前言又是过了好长时间,没写文章的双手都有点难受了。今天是圣诞节,还是得上班。因为前几天有一个之前的同事,在申请微信SDK的时候,遇到签名的问题,问了我一下,结果把我难倒了。。我说Android中的签名大家都会熟悉的,就是为了安全,不让别人修改你的apk,但是我们真正的有了解多少呢?所以准备两篇文章好好介绍一下Android中签名机制。在说道Android签名之前,我们需要了解的几个知识
2017-04-23 16:53:32 632
转载 nodejs+npm+gulp使用详细教程
nodejs+npm+gulp使用详细教程nodejs简介npm简介gulp简介gulp入门npm模块管理nodejs简介nodejs 是一个javascript运行环境。npm简介NPM(node package manager),通常称为node包管理器。安装node的时候已经集成了npm,它的主要功能就是管理node包,包括:安装、卸载、更新、查看
2017-04-21 16:53:24 2814
转载 NPM 使用介绍
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 "n
2017-04-21 16:50:25 608
转载 android sqlite数据库并发问题的详细描述和解决方案
文章参考链接:http://www.it165.net/database/html/201403/5759.html文章的开始说几句题外话,我们写程序的最重要的也是最基础的就是操作数据,也是避免不了和数据库打交道。在我的写Android sqlite数据库中遇到了一些异常困扰了我很久。尝试了几种解决方案,找到种我感觉还是较为合理的解决方案。我很高兴把它写出来和大家共享,希望对你有一些帮
2017-04-20 11:46:40 5314 1
转载 浅谈AndroidManifest文件的android:allowBackup属性
1.allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是True。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据
2017-04-19 14:33:37 900
转载 Android App 瘦身总结
随着移动端产品功能的逐渐增加,APP 的体积也不可避免地呈现上升趋势,如果不加以重视,几个版本迭代下来,可能你的 APP 体积会达到用户不能忍受的程度。如果你是 SDK 开发者,你的 SDK 包大小是用户决定是否采用的关键因素;如果你的APP 想要预装到某款手机或者某款 Android 系统中,APP 的体积也会受到很严格的限制。因此,APP 的瘦身是每个移动端产品都会遇到的一个普遍问
2017-04-19 14:01:16 661
转载 浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚
2017-04-18 18:48:59 243
转载 JavaScript历史
要了解JavaScript,我们首先要回顾一下JavaScript的诞生。在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名的第一代互联网公司。由于网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言。你没看错,这哥们只用了10天时间。为什么起名叫JavaScri
2017-04-17 07:50:45 250
转载 ART模式和Dalvik模式的异同
Dalvik模式 如果要解释清楚什么是ART模式,我们就需要从Android系统的应用编译模式说起,我们都知道Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底层之上构筑了一个名为“Dalvik”的虚拟机。 因为Dalvik虚拟机的存在,An
2017-04-17 07:16:45 530
转载 经典算法面试题及答案
1. 时针分针重合几次表面上有60个小格,每小格代表一分钟,时针每分钟走1/12小格,分针每分钟走1小格,从第一次重合到第二次重合分针比时针多走一圈即60小格,所以60/(1-1/12)=720/11每隔720/11分才重合一次(而并不是每小时重合一次)1440里有22个720/11,如果说算上0点和24点,那也是重合23次而已,但我觉得0点应该
2017-04-15 21:03:30 898
转载 React 入门实例教程
作者: 阮一峰日期: 2015年3月31日现在最热门的前端框架,毫无疑问是 React 。上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑。React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 I
2017-04-15 15:15:19 503
转载 GC Root的对象
在Java中,可以当做GC Root的对象有以下几种:1、虚拟机(JVM)栈中的引用的对象2、方法区中的类静态属性引用的对象3、方法区中的常量引用的对象(主要指声明为final的常量值)4、本地方法栈中JNI的引用的对象
2017-04-15 10:50:11 1163
转载 使用System.setOut()
setOut()方法可以改变输出流[java] view plain copy package java1200; //可以向文件里写数据 import java.io.FileNotFoundException; import java.io.PrintStream; public class RedirectOutputStream {
2017-04-14 21:48:15 11220
转载 Fragment中调用getActivity为null的问题
在使用fragment的时候经常会遇到getActivity()为null的情况。比如我在一个异步网路请求的回调中调用了getActivity()就会出现空指针问题。之前解决这个问题,通常都是直接加空指针判断来规避,但是这并没有真正解决问题。 很多人都曾被这个问题所困扰,如果app长时间在后台运行,再次进入app的时候可能会出现crash,而且fragment会有重叠现象。如果系
2017-04-14 21:37:57 300 1
原创 webview无法正常加载和点击的bug
有浏览器客户反馈,使用我们的sdk,sdk中的webview无法正常显示和操作。初步分析与客户使用WebView的方式相关,但是不知道具体哪个设置。后台查了一下,也有类似的问题:原来客户调用了webview的pauseTimers方法,这个方法不仅仅针对当前的webview而是全局的全应用程序的webview,它会暂停所有webview的layout,parsing,javascrip
2017-04-14 13:08:12 1927
转载 doT模版入门
之前工作中一直使用artTemplate,新公司这边用的是doT,那就入乡随俗吧。首先下载doT文件:doT.1.0.3.min.js然后在HTML里面引入 script src="doT.min.js">script> 还需要一个script用来放模版,需要指定一个id或者class,还需要指定type="text/x-dot
2017-04-13 15:45:52 1756
转载 NPM小结
nodejs的出现,可以算是前端里程碑式的一个事件,它让前端攻城狮们摆脱了浏览器的束缚,踏上了一个更加宽广的舞台。前端的可能性,从此更加具有想象空间。随着一系列基于nodes的应用/工具的出现,工作中与nodejs打交道的机会越来越多。无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。NPM(node package manager),作为node的包管理工具,极大地便利了
2017-04-12 16:29:43 563
转载 应用内存优化之OnLowMemory&OnTrimMemory
1.应用内存onLowMemory& onTrimMemory优化onLowMemory& onTrimMemory简介:OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。OnTrimMemory是Android 4.0之后提供的API,系统会根据
2017-04-12 14:07:41 269
转载 Process Stats:了解你的APP如何使用内存
原文地址:http://android-developers.blogspot.com/2014/01/process-stats-understanding-how-your.html?m=1原作者:Dianne Hackborn, Android framework team翻译:大苞米,http://blog.csdn.net/a396901990Android
2017-04-12 13:54:40 669
转载 Android JSBridge的原理与实现 (prompt和javascript)
在Android中,JSBridge已经不是什么新鲜的事物了,各家的实现方式也略有差异。大多数人都知道WebView存在一个漏洞,见WebView中接口隐患与手机挂马利用,虽然该漏洞已经在Android 4.2上修复了,即使用@JavascriptInterface代替addJavascriptInterface,但是由于兼容性和安全性问题,基本上我们不会再利用Android系统为我们提供的add
2017-04-12 12:52:47 947
转载 XSS漏洞攻击原理与解决办法
转自:http://www.frostsky.com/2011/10/xss-hack/对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的。现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心。请记住两条原则:过滤输入和转义输出。一、什么是XSSXSS又叫CSS (Cross Site Script)
2017-04-12 10:11:38 1397
转载 Android黄油计划之Choreographer原理解析
搞客户端开发,时间也有点了,但是每次想起来,总感觉自己掌握的东西零零散散,没有一点集在的感觉,应用层的懂,framework的也懂,框架啥的了解一点,分层的思想也有一些,JVM的原理啊,内存分配和管理啊,运行机制啊啥的也知道一点,每次下班或者没事了,就在考虑,自己应该有一个主攻方向,往这个方向集中发展一下,首选的几个目标应该是非常清楚的,我们要掌握android,那么关于android的View机
2017-04-11 07:52:53 2871
转载 Android动画原理分析
最近在Android上做了一些动画效果,网上查了一些资料,有各种各样的使用方式,于是乘热打铁,想具体分析一下动画是如何实现的,Animation, Animator都有哪些区别等等。首先说Animation(android.view.animation.Animation)对象。无论是用纯java代码构建Animation对象,还是通过xml文件定义Animation,其实最终的结果都是
2017-04-11 07:48:16 267
转载 Android Cordova 插件开发之编写自定义插件
前言本文适合Android+web的复合型人才,因为cordova本身就是混合开发,所以在Android开发的基础上,还要懂web相关技术(HTML+CSS+JS),但是也有例外,比如我,只需负责Android方面,web方面的交由其他web组人员开发。虽然,web略懂一点,但我主要还是搞Android开发的。编写自定义插件类本节的内容是,自定义一个dialog插件,供web调用,显示
2017-04-08 21:58:07 504 1
转载 Cordova下android与javascript的交互
一、js调用android方法创建一个java类,继承CordovaPlugin。本例是js调用native中的speak方法public class SpeechOFFSynthesize extends CordovaPlugin{ public void speak(String content){ Log.e("SpeechOFFSynthesize",
2017-04-06 21:17:28 937
转载 关于Android中的armeabi 和armeabi-v7a
简而言之:armeabi 和 armeabi-v7a是针对不同CPU而建立的文件夹,armeabi是指的该so库用于ARM的通用CPU,而v7a的CPU支持硬件浮点运算。因此armeabi通用性强,但速度慢,而v7a能充分发挥cpu的性能,armeabi-v7a 应该是与AIR限定支持android2.2以上的条件有关。android2.2以上能让硬件发挥更大的作用,所以建议现在都可以选择将S
2017-04-05 11:20:17 1308
转载 Cordova 最佳实践
Cordova用于创建混合移动应用程序,因此在为您的项目选择之前,需要考虑这一点。以下是Cordova应用程序开发的最佳做法。单页应用程序这是所有Cordova应用程序的推荐设计。SPA使用客户端路由器和导航加载在单页(通常 index.html)。 路由通过AJAX处理。 如果你按照我们的教程,你可能注意到几乎每个Cordova插件需要等待,直到设备准备就绪,然后才能使用。SPA
2017-04-04 16:35:28 502
建筑的永恒之道
2008-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人