Android核心技术
方大锤
学习的过程不再枯燥乏味。
展开
-
Gradle配置国内镜像
Gradle配置国内镜像Gradle常用于构建项目,当使用Gradle需要从服务器下载依赖包时速度非常慢,其原因是服务器在国外。而国内有些大厂就建立了这些内容在国内的镜像,我们可以配置让Gradle从国内的镜像服务器下载内容。从此速度飞起。对单个项目有效在项目的build.gradle文件中添加以下内容buildscript { repositories { mav...原创 2019-08-09 15:39:03 · 8308 阅读 · 0 评论 -
一天掌握Android JNI本地编程 快速入门
一、JNI(Java Native Interface) 1、什么是JNI: JNI(Java Native Interface):java本地开发接口 JNI是一个协议,这个协议用来沟通java代码和外部的本地代码(c/c++) 外部的c/c++代码也可以调用java代码 2...转载 2018-11-30 14:40:51 · 740 阅读 · 0 评论 -
Android常用工具类库
andutilAndroid常用工具类,包含了Android开发中经常会使用到的工具类,这里做一个统一的整理,方便使用。项目源码:https://github.com/totoks/andutil使用方式Android Studio中在build.gradle文件中添加依赖api 'xyz.totok.andutil:andutil:0.0.8'文件介绍文件名称功能...原创 2018-11-17 17:55:23 · 10238 阅读 · 0 评论 -
Android使用gradle依赖管理、依赖冲突终极解决方案
Android使用gradle依赖管理、依赖冲突终极解决方案在Android开发中,相信遇到关于版本依赖的问题的同学有不少。虽然Android Studio一般都会自动帮我们去重,但是有时候去重失败了还是需要手动处理。在这里总结下自己长期遇到的各类问题的解决方式。统一版本管理当我们的项目有多个module的时候,各自都可以在自己的build.gradle中添加自己的依赖,这个时候各自独立编译...原创 2018-10-31 22:51:49 · 4586 阅读 · 0 评论 -
搭建自己Android开发框架
Android优秀的开发框架有很多,很多功能都有成熟的解决方案,比如网络请求、依赖注入、图片加载、数据库等都有很多开源的框架可以直接使用,我们可以站在巨人的肩膀上,组合一套自己常用的开发框架,也可以作为公司的开发框架,达到快速开发的目的。选择框架的原则:1、能满足自己的业务需求选择一个框架前首先考虑是否能满足自己或公司的需求,比较流行的框架基本上能满足我们大部分的需求2、主流的选择主流的框架网上相关的资源也多,团队成员都接触过的概率也大3、持续更新的Android的发展很快,原创 2018-10-24 10:32:21 · 3195 阅读 · 1 评论 -
Dex、Smali、Class、Java、Jar之间的相互转换
Dex、Smali、Class、Java、Jar之间的相互转换-分析Android底层代码前言工具作用javacjava------>classddxclass------>dexbaksmalidex------>smalismalismali------>dexdex2jardex------>jar(cl...原创 2018-10-29 13:17:55 · 9716 阅读 · 1 评论 -
Android常用第三方库混淆规则集合
# Add project specific ProGuard rules here.# By default, the flags in this file are appended to flags specified# in D:\android-sdk-windows/tools/proguard/proguard-android.txt# You can edit the incl...原创 2018-10-23 15:07:16 · 1919 阅读 · 0 评论 -
Android Data Binding(数据绑定)用户指南
1)介绍这篇文章介绍了如何使用Data Binding库来写声明的layouts文件,并且用最少的代码来绑定你的app逻辑和layouts文件。Data Binding库不仅灵活而且广泛兼容- 它是一个support库,因此你可以在所有的Android平台最低能到Android 2.1(API等级7+)上使用它。需求:Android Plugin for Gradle **1.5.0-alp...转载 2018-10-25 18:58:17 · 522 阅读 · 0 评论 -
Android破解过程-滚动的天空
Android破解-滚动的天空前言最近看到很多学生在玩滚动的天空这个游戏,这游戏看起来还挺有趣的,于是我也去下载玩了几把。可是,坑呐,这游戏太难了,考验人的快速判断能力和手指滑动速度,玩的很渣。玩游戏技术不行怎么办呢?俗话说,能力不够金钱来凑!哈哈哈,游戏世界不都是这样的吗?各个游戏界的大神哪个不是用金钱堆起来的。玩游戏只是为了娱乐,能够用一点金钱来购买的娱乐有什么关系呢?反正我的理解...原创 2018-09-14 05:51:19 · 9039 阅读 · 1 评论 -
Android Studio动态调试smali
前言之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了。后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持。熟悉Android开发的人还是比较喜欢用Android Studio,就想着用Android Studio来代替idea...原创 2018-09-16 14:24:15 · 7404 阅读 · 0 评论 -
详解smali文件
详解smali文件上面我们介绍了Dalvik的相关指令,下面我们则来认识一下smali文件.尽管我们使用java来写Android应用,但是Dalvik并不直接加载.class文件,而是通过dx工具将.class文件优化成.dex文件,然后交由Dalvik加载.这样说来,我们无法通过分析.class来直接分析apk文件,而是需要借助工具baksmali.jar反编译dex文件来获得对应smal...原创 2018-09-16 09:52:51 · 4724 阅读 · 0 评论 -
smali指令详解
smali的数据类型 smali数据类型 数据类型 B byte C char D double F float I int J long S short V void Z boolean [XXX array Lxxx/yyy object...原创 2018-09-16 09:36:16 · 8084 阅读 · 0 评论 -
Android小问题集合
1. ListView的OnItemClick和子button的事件冲突如果ListView的一行布局中包含有Button、CheckBox等可以获得点击事件的控件,在不处理的情况下,Button、CheckBox会默认获取焦点,使ListView的OnItemClick方法失效。解决方法:将具有点击事件控件的android:focusable属性置成false,(如这里就是按钮的控件,只...原创 2019-10-09 13:51:00 · 159 阅读 · 0 评论