johncaijing
AndroidTips
Java

A collections of tips in Android developing.Android开发总结。我的博客:

Last updated Jun 17, 2026
710
Stars
127
Forks
1
Issues
0
Stars/day
Attention Score
53
Language breakdown
No language data available.
Files click to expand
README

AndroidTips

A collections of tips in Android developing. Android开发总结。

前言

我们在日常开发中,会遇到各种各样的问题,或大或小。正是通过解决这些问题,使得我们的开发技能得到进步。养成记录的好习惯,方便自己日后查看,也方便广大开发者能找到自己遇到的问题的解决方案。

PS:持续更新中(last update date:2019-10-29 14:40)

目录

>一.模拟器

>二.Android Studio

>三.Gradle

四.Android四大组件

>五.动画

>六.View

>七.XML

>八.Java

>九.混淆

>十.优化

>十一.优秀开发资料

十二.值得关注的Android大牛
十三.Canvas
十四.学习方法总结
十五.Kotlin
十六.MaterialDesign
十七.自学资料
十八.RxJava
十九.开发框架(如MVP等)
二十.Android开发面试资料
二十一.Android逆向与安全
二十二.Android编译构建
二十三.Android动态加载
二十四.Google最新的跨平台框架Flutter

正文

一.模拟器

1.genymotion模拟器如何锁屏? >答:在模拟器的设置-->安全-->屏幕锁定-->选择除<>以外的其他选项。 然后点击模拟器的电源按钮即可锁屏(或在命令行中输入

shell keyevent 26
原理和按电源键一样,模拟电源键点击事件) 参考链接:http://stackoverflow.com/questions/29292060/how-to-lock-genymotion 2.genymotion模拟器如何打开输入法软键盘? >答:在设置输入法选项中,关闭物理键盘即可。 3.genymotion如何安装谷歌服务? >答: http://stackoverflow.com/questions/17831990/how-do-you-install-google-frameworks-play-accounts-etc-on-a-genymotion-virt
二.Android Studio

1.Andorid Studio中有哪些好用的插件?

>答: >1>.GsonFormat:用json数据一键生成JavaBeans

>2>. ADB Idea:ctrl + Shift + A 查找中添加常用卸载安装app的一些操作,无需命令行

3>.android-parcelable-intellij-plugin 快速实现parcelable序列化
4>.android-butterknife-zelezny ButterKnife生成器,快速生成View声明代码
5>.Android WiFi ADB 使用WiFi连接而不需要USB连接Android设备达到安装、运行、调试应用的目的。
6>.simpleUMLCE 自动生成类图

2.Android Studio提升效率的技巧文章 >答:

>http://www.developerphil.com/android-studio-tips-of-the-day-roundup-1/

>http://www.developerphil.com/android-studio-tips-of-the-day-roundup-2/

>http://www.developerphil.com/android-studio-tips-of-the-day-roundup-3/

>http://www.developerphil.com/android-studio-tips-of-the-day-roundup-4/

>http://www.developerphil.com/android-studio-tips-of-the-day-roundup-5/

>http://www.developerphil.com/android-studio-tips-of-the-day-roundup-6/

>上述Android Studio技巧的中文版

3.更新Android Studio报如下错误如何解决? >Android Studio: Error:/android-studio/gradle/gradle-2.4/lib/plugins/gradle-diagnostics-2.4.jar (No such file or directory)

更新Android Studio后,Gradle的也得到了更新。cd到gradle文件夹下查看里面gradle文件夹的名字。例如gradle-2.8。然后在Android Studio中依次打开Module Settings->Project,将Gradle version改成和之前文件夹对应的版本。Rebuild项目就好了。

4.Android Studio的常用快捷键? >答:

>1.快速生成get,set代码(Command+N)

>2.查找方法(Find Action)(Command+Shift+A)

>3.查看类的层级(Ctrl+H)

>4.选中一侧代码(Alt+鼠标左键)

>5.提取方法(Command+Option+M)

5.Android Studio中开启DDMS?

>答:在Android中,依次点击Tools->Android->Android Device Monitor

6.Android Studio与Gradle教程 >答:

>1.拥抱 Android Studio 之一:从 ADT 到 Android Studio

>2.拥抱 Android Studio 之二:Android Studio 与 Gradle 深入

>3.拥抱 Android Studio 之三:溯源,Groovy 与 Gradle 基础

>4.拥抱 Android Studio 之四:Maven 仓库使用与私有仓库搭建

>5.拥抱 Android Studio 之五:Gradle 插件开发

三.Gradle

1.Gradle有什么教程?

>1.Gradle User Guide 中文版

>2.Gradle官方教程

>3.灵活强大的构建系统Gradle(美团技术团队)

>4.Android官方Gradle教程

>5.Gradle官方Training

>6.android-studio.org的Gradle教程

>7.Android Plugin DSL Reference

>8.Gradle脚本基础全攻略

>9.深入理解Android之Gradle

>10.Android 开发必备知识:我和 Gradle 有个约会(腾讯bugly团队)

>11.Android Recipes for Android

2.Gradle在编译的时候报如下错误:Error:Timeout waiting to lock buildscript class cache for build file ,怎么解决?

>答:

>Windows:删除C:\Users\Administrator\.gradle\caches.这个文件夹

>OS X:删除~/.gradle/caches这个文件夹

参考:http://stackoverflow.com/questions/31784132/errortimeout-waiting-to-lock-buildscript-class-cache-for-build-file-when-change

3.什么是Gradle,为什么在Android Studio中引进Gradle? >答:

http://stackoverflow.com/questions/16754643/what-is-gradle-in-android-studio

四.Android四大组件

>1.Activity

>2.Service

>* Android Service完全解析,关于服务你所需知道的一切(上) >* Android Service完全解析,关于服务你所需知道的一切(下) >* Services(Android官方文档)

>3.ContentProvider

>4.BroadcastReceriver

>* BroadcastReceiverAndroid官方文档

五.动画

1.关于动画有什么教程? >1.Android官方

>2.tutorialspoint动画教程

>3.Android属性动画完全解析(上),初识属性动画的基本用法

>4. Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法

>5.Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法

>6.Using animations in Android application

>7 .动画系列 - 传统View动画与Property动画基础及比较

>8 .动画系列 - PropertyAnim 详解

>9 .动画系列 - PropertyAnim 实际应用

>10 .动画系列 - ViewPager动画

>11 .Android 动画基础

>12 .codepathandroidguides_animations

>12 .bignerdranchframe-animations-in-android

>13 .Building Meaningful Motion(Plaid作者Android动画演讲分享)

六.View

1.View是如何绘制的? >1.How Android Draws Views

>2.Android视图状态及重绘流程分析,带你一步步深入了解View(一)

>3.Android视图状态及重绘流程分析,带你一步步深入了解View(二)

>4.Android视图状态及重绘流程分析,带你一步步深入了解View(三)

>5.Android视图状态及重绘流程分析,带你一步步深入了解View(四)

2.如何实现自定义View? >1.Android官方教程

>2.Android官方教程中文版

>3.Creating custom and compound Views in Android - Tutorial

>4.Tutorialspoint教程

>5. Android自定义View的实现方法,带你一步步深入了解View(四)

>6.Canvas and Drawables

>7.Android自定义View系列文章

3.Android touch事件分发机制 >1.Managing Touch Events in a ViewGroup

>2.Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

>3.Android事件分发机制完全解析,带你从源码的角度彻底理解(下)

>4.Android事件传递机制

>5.Handling single and multi touch on Android - Tutorial

4.ImageView使用src和background设置图片的区别? >1.http://stackoverflow.com/questions/5454491/what-is-the-difference-between-src-and-background-of-imageview

>2.Android 中 imageView 的 Src 和 Background

5.View中onTouch和onTouchEvent的区别?

1.http://stackoverflow.com/questions/5002049/ontouchevent-vs-ontouch

七.XML

1.为什么在XML代码中有tools命名空间? 代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layoutwidth="matchparent"
              android:layoutheight="wrapcontent">     
       <TextView
        android:layoutwidth="wrapcontent"
        android:layoutheight="wrapcontent"
        tools:text="0"/>
</LinearLayout>

>tools:text,其实就是给ADT用的,用于在design页面能够预览到这个属性的值,但是当实际上运行的时候是看不到这个值的。具体可查看Designtime Layout Attributes

八.Java

>1.深入理解Java中的final关键字

>2.Java中==和equals的区别

>3.Java中的hashCode()方法和equals()方法

>4.Java资源大全中文版(awesome-java-cn)

九.混淆

>1. Android混淆有什么资料教程?

>答:

>* 1.Android官方混淆教程

>* 2.ProGuard官方教程

2.资源混淆有什么好的技术文章?

>答:

>1.美团Android资源混淆保护实践

>2.安装包立减1M--微信Android资源混淆打包工具

十.优化

>1.Android内存优化杂谈(微信移动客户端开发团队)

>2.如何提高开发效率?(微信移动客户端开发团队)&version=11020201&pass_ticket=ZXGITxr6bbn9Jmjzi5s4TzNgphY7BZ3j7xzQh%2BtYcqRDRivYxSjA1JbKPe1ME1q4)

>3.Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?(腾讯Bugly团队)

十一.优秀开发资料

>1.如何寻找优秀开源库?

>答:

>* 1.codeKK开源库收集网站(由国内Android大牛Trinea)维护) >* 2.查看Github JAVA trending >* 3.Android Arsenal

>2.在线查看Android源码的网站:

>* 1.http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/ >* 2.https://github.com/android

>3.在线书籍:

>* 1.Android 实战技巧

>* 2.RxJava Essentials 中文翻译版

>4.程序员的读书清单

>答:

>* 1.程序员必读书单 1.0(作者:Lucida,Google大牛) >* 2.Android开发者必备书单

>5.Android图片相关工具

>* 1.Android Asset Studio

>6.Android开发相关书籍推荐

>* 1.Android编程权威指南(入门,推荐) >* 2.疯狂Android讲义(入门) >* 3.第一行代码(入门) >* 4.Android开发艺术探索(进阶,推荐) >* 5.Andorid群英传(进阶)

十二.值得关注的Android大牛

>国外 > >国内 >


>CSDN

>* 1.郭霖 >* 2.任玉刚 >* 3.张鸿洋 > 4.罗升阳

(PS:*表示Android系统研究)

>微信公众号

>* 1.Google开发者(Google_Developers) >* 2.QQ空间终端开发团队(qzonemobiledev) >* 3.手机淘宝技术团队MTT(AlibabaMTT) >* 4.腾讯bugly(weixinBugly) >* 5.微信移动客户端团队(WeMobileDev) >* 6.好东西传送门(awesomeport) >* 7.阿里聚安全

注:括号内为微信号

>Google+

>* 1.JakeWharton(Work@Square) >* 2.CyrilMottier >* 3.RomainGuy(Work@Google) >* 4.NickButcher(Work@Google)

>公司技术团队

>* 1.美团点评技术团队 >* 2.Glow 技术团队博客 >* 3.蘑菇街技术博客 >* 4.腾讯bugly团队 >* 5.腾讯ISUX团队 >* 6.BigNerdRanch团队(国外著名培训机构) >* 7. IBM developerworks(Java) >* 8.考拉移动团队 >* 9.大搜车技术团队

>Android开发技术资讯网站

>* 1.干货集中营gank.io >* 2.稀土掘金 >* 3.Android Weekly >* 4.AndroidHive(一个针对初学者的Android开发的教程、贴士,小技巧等的英文网站)

>Github上那些值得关注的公司组织

>* 1.Google(谷歌) >* 2.Excilys(作品有著名的Android注入框架AndroidAnnotation) >* 3.Alibaba(阿里) >* 4.Square(作品有著名的Android网络框架OkHttp,Retrofit) >* 5.TecentOpen(腾讯) >* 6.500-px >* 7.dropbox

>个人独立博客

十三.Canvas

>1.Canvas相关的教程:

>* 1.Canvas and Drawables(Android官方教程)

十四.学习方法/路线总结

>1.Android学习进阶路线导航线路

>2. Android学习路线指南

>3.Android学习之路

>4.Android 开发进阶指南

>5.怎样的Android开发毕业生可以算达到优秀的水平?

>6.Android 程序猿如何继续深入的研究技术层的知识?

>7.给那些刚入行的 iOS/Android 开发新手们的一些建议

十五.Kotlin

>1. Kotlin官网

>2. Kotlin官网(中文版)

>3. 《Kotlin for android developers》中文版

十六.MaterialDesign
十七.自学资料

>1. Android开发官方文档(英文版)

>2. Android开发中文文档

>3. Android学习资料收集

十八.RxJava
1. 给 Android 开发者的 RxJava 详解
2. Adopting RxJava on Airbnb Android
3. Grokking RxJava系列
4. Reactivex官方教程
5. RxJava Essentials 中文翻译版
6. RxJava文档中文版
7. Awesome-RxJava
>8. Learning RxJava.pdf
十九.开发框架(如MVP等)

> 1.一步一步实现Android的MVP框架 > 2.Android Application Architecture > 3.Google官方Android架构示例

二十.Android开发面试资料

1.Android interview questions for 2-5 yrs experienced(2-5年经验的Android开发面试问题)
2.250 Android Interview Questions(250道Android开发面试题)
3.Android interview questions(Android面试问题)
二十一.Android逆向与安全
1.Android技术分享的逆向教程
2. Android反破解之一:Android Java混淆(ProGuard)
3. APK反破解之二:Android APK 签名比对
4. APK反破解之三:NDK编译.so动态库
5. APK反破解之四:Android代码动态加载技术
二十二.Android编译构建
1.Android构建过程分析
二十三.Android动态加载
1.Android动态加载基础 ClassLoader工作机制
>
2.Android插件化研究
>
3.Android插件化原理研究
>
4.Understanding Java ClassLoader
二十四.Google最新的跨平台框架
1.闲鱼技术团队的Flutter研究文档

参与维护

欢迎Pull Request和使用issue

LICENCE

以上内容采用 CC BY-NC-SA 3.0进行许可

关于我

网络ID:JohnTsai

Android开发者,手机发烧友。

我的博客:https://www.johntsai.xyz

博客园博客:http://www.cnblogs.com/JohnTsai

简书:http://www.jianshu.com/users/07ba99ac6962/latest_articles

Google+:https://plus.google.com/106757597621151145389/posts

邮箱:JohnTsai.Work#gmail.com

© 2026 GitRepoTrend · johncaijing/AndroidTips · Updated daily from GitHub