分类 安卓 下的文章

APK无源码调试

这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了。静态分析越来越不靠谱了,apktool、ApkIDE、jd GUI、dex2jar等等等等已经无法满足大家的需求了。那么问题就来了,小伙伴们真正需要的是什么?好的,大家一起呐喊出你内心的欲望吧,我们的目标是——“debug apk step by step”。

先来说说那些不靠谱的工具,就是今天吭了我小半天的各种工具,看官上坐,待我细细道来。

阅读全文

Android控件操作-二十四章经

张亚运,男,江苏徐州人,现供职于华为上海研究所。爱技术,研究生期间专注 Android 学习及应用开发,现已上架三款 App,有两款在开发中。爱分享,在 CSDN 发表博文四百余篇,获CSDN认证专家、极客学院Wiki专栏作家,并在github 分享多款源码。爱写作,代表作《Android百战经典》、《Android实战简易教程》等。假如你也是同道中人,可以和我联系:291214603@qq.com。

写下本系列文章的初衷是为了帮助更多 Android 的初学者可以尽快的进入角色,通过编写一些简单可行的代码,可以大大增加自己的兴趣和信心,同时也会加深对Android的学习和理解。做技术,就是要动手、要实战。文章中提供了较为详细的源码,大家可以写看一遍,理解后自己动手,这样可以快速入门 Android 开发。希望大家都能通过本系列文章得到提升。

为了更好的理解和学习本书,我希望你具有如下知识:

Java SE :Android开发语言是Java,为了更好地理解和开发Android,你应该具有Java基础知识,对一些常用的类和方法应该熟悉。

TextView是Android中最常用的控件,主要承担文本显示的任务,任何APP都不可避免的会用到它。同时,TextView的属性和方法在所有控件中也是算比较多的,我们没必要也很难记住所有属性和方法,在需要时查找API即可,这也是“带你去看API”模块设立的目的。

TextView常用属性和方法参见下表:

这里写图片描述

使用表中部分属性展示一下运行效果,API中还有一些不太常用的属性和方法,读者可以自行运行测试其效果。下面结合一个小实例对上面的属性进行学习,代码如下:

阅读全文

Android NDK 开发教程

NDK是一系列工具的集合,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。

致谢

教程源于:http://www.imobilebbs.com/wordpress/教程/android开发教程

书中演示代码基于以下版本:

Android OS 的基本框架为 Linux-Java ,在介绍 Android 开发时用到的 Android 结构图:

android 体系底层为 Linux 内核,之上提供一些 C/C++ 函数库,因此 Android 应用开发也可以使用 C /C++ 开发,这就是 Android NDK 开发包,但 Android 提供 NDK 开发包的主要目的并不是推荐开发人员使用 C(Native 代码)来编写一般的 Android 应用,而是要使用 Java 代码来编写 Android 应用来更好的处理 Android 应用生命周期(Life-cycle)相关的事件以避免出现“应用程序不响应(ANR)”的对话框。

使用 NDK 主要是通过 JNI 使用从 Java 代码调用 C 代码,也就是使用 Native 编程主要是为上层 Java 代码提供库函数(动态库或是静态库的形式)而不是全部使用 Native C 代码编写整个 Android 应用(尽管借助于少量 Java 代码也是可以大部分使用 C 代码来实现的)。使用 NDK 大部分情况是需要将一些已有的 C 函数库移植到 Android 平台的所选择的快捷方法,而不是作为提高代码效率的手段

阅读全文

Android Gradle 用户指南

Android Studio 使用 Gradle 构建工具,而 Gradle 继承了强大、灵活的 Ant 和 Maven 丰富的依赖管理,配置管理简单,脚本编写方便灵活,插件模块化。本指南是 Android 官方的 Gradle Plugin User Guide 中文翻译版。

Android Studio 使用 Gradle 构建工具,Eclipse 的 ADT 插件使用的是 Ant 构建工具。因为两个构建工具的区别,导致习惯了 Eclipse 开发环境的开发者刚开始比较难适应 Android Studio。如果要迁移到 Android Studio,建议最好了解下 Gradle 构建工具。Gradle 构建工具是任务驱动型的构建工具,并且可以通过各种 Plugin 插件扩展功能以适应各种构建任务。对应 Android 项目的 Gradle 插件就是 Android Gradle Plugin。

本文档适用于 0.9 版本的 Gradle plugin。由于我们在 1.0 版本之前介绍的不兼容,所以早期版本可能与本文档有所不同。

书中演示代码基于以下版本:

本文档适用于 0.9 版本的 Gradle plugin。由于我们在 1.0 版本之前介绍的不兼容,所以早期版本可能与本文档有所不同。

采用 Gradle 作为新构建系统的目标:

一个Gradle项目的构建过程定义在build.gradle文件中,位于项目的根目录下。

一个最简单的Gradle纯Java项目的build.gradle文件包含以下内容:

这里引入了Gradle的Java插件。这个插件提供了所有构建和测试Java应用程序所需要的东西。

最简单的Android项目的build.gradle文件包含以下内容:

这里包括了Android build file的3个主要部分:

buildscrip{...}这里配置了驱动构建过程的代码。

在这个部分,它声明了使用Maven仓库,并且声明了一个maven文件的依赖路径。这个文件就是包含了0.11.1版本android gradle插件的库。

阅读全文

Android OpenGL ES 开发教程

OpenGL ES 主要用来开发 3D 图形应用的。OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA 和游戏主机等嵌入式设备而设计。本教程结合实例由浅入深地讲解了使用 OpenGL ES 进行 3D 图形开发的。

Android 图形开发初学者。

在学习 Android OpenGL ES 开发之前,你必须具备 Java 语言开发经验和一些 Android 开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一些基本的线性几何知识,如矢量,矩阵运算等。

鸣谢:http://www.imobilebbs.com/wordpress/archives/1722

书中演示代码基于以下版本:

Android ApiDemos 到目前为止,介绍完了出 View 以外的所有例子,在介绍 Graphics 示例时跳过了和 OpenGL ES 相关的例子,OpenGL ES 3D 图形开发需要专门的开发教程,因此从今天开始一边继续 Android ApiDemos Views 例子的解析,同时开始 Android OpenGL ES 开发教程。

在学习 Android OpenGL ES 开发之前,你必须具备 Java 语言开发经验和一些 Android 开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一些基本的线性几何知识,如矢量,矩阵运算等。

对于 Android 开发的基本知识,可以参见 Android 简明开发教程 ,特别注意的是 Android简明开发教程二:安装开发环境。本教程采用 Windows + Eclipse + Android SDK 作为开发的环境。

此外之前介绍的关于 Android OpenGL ES 开发的文章

Android OpenGL ES 开发中的 Buffer 使用

阅读全文