SlideShare a Scribd company logo
Tools related to Android Dev
rongbo.zou@gmail.com
探讨的一些点
• Android Studio
• Gradle-based build system
• MacBook
• Charles
Android Studio
• Google官方开发
• 基于JetBrains IntelliJ IDEA
• Android平台开发程序的IDE
• 集成了Gradle构建系统
刚开始一些设置
• 皮肤设置(Darcula)
• 快捷键
• 字体大小
• ……
一些特性
• 定制不同的包
• 内置终端
• Find usages
• 快捷搜索功能
• 完善的插件系统
– Git, Markdown,Gradle,反编译等插件
一些特性
• 颜色、图片在布局和代码中可以实时预览
• String、dp、px等信息可以实时预览
• debug时自动在源码中插入变量值
• ……
Android Studio和Eclipse ADT比较
Android Studio和Eclipse ADT比较
Android Studio和Eclipse ADT比较
An Android Studio Project
An Android Studio Project(Module)
• A module is a component of your app that you
can build, test, or debug independently.
– Android application modules APK packages
– Android library modules AAR (Android ARchive)
– App Engine modules contain code and resources
for App Engine integration.
– Java library modules jar
Gradle
• Gradle is an advanced build toolkit that
manages dependencies and allows you to
define custom build logic.
• Gradle build files use Domain Specific
Language (DSL) to describe and manipulate
the build logic through Groovy syntax.
Build files for Studio Proj
• Project build file
– Gradle repositories(JCenter, Maven Central, or Ivy)
and dependencies
• Module build file
– configure module build settings, including
overriding the src/mainmanifest settings and
setting custom packaging options.
Project build file
Module build file
Configuring Gradle Builds
• Build variants
– buildTypes
– productFlavors
• Dependencies
• Manifest entries
• Signing
• ProGuard
• Testing
Build variants(buildTypes)
Build variants(productFlavors)
Dependencies
Manifest entries
Signing
ProGuard
A Detailed Look at the Build Process
Build Tasks
Migrating to Android Studio
• Migration Prerequisites
– 使用最新版本的Android Studio
– 能够翻墙
• Migration options:
– Android Studio Importer
• 依赖管理更方便
• 标准工程结构,支持flavor and build type specific
resources等等
– Eclipse Exporter
• 同时支持AS,Eclipse
MacBook
• MacTalk·池建强
• http://macshuo.com/
Charles
• 一款类似Fiddler的HTTP Web Debug Tool
其他
• Resources merging & Manifest merging
– 优先级由低到高
dependencies --> src/main/ --> src/productFlavor/ --
> src/buildType
其他
• Gradle wrapper files
– A JAR file
– A properties file
– A shell script for Windows platforms
– A shell script for Mac and Linux platforms
– http://stackoverflow.com/questions/25769536/ho
w-when-to-generate-gradle-wrapper-files
其他
• 关于加快android studio的build速度
– http://stackoverflow.com/questions/16775197/bu
ilding-and-running-app-via-gradle-and-android-
studio-is-slower-than-via-eclips
– http://stackoverflow.com/questions/17324849/an
droid-studio-gradle-build-speed-up
参考资料
• http://developer.android.com/sdk/index.html
• http://gradle.org/
• http://tools.android.com/tech-docs/new-
build-system
• http://www.zhihu.com/question/21534929
Thanks

More Related Content

Viewers also liked

Penilaian hasil belajar
Penilaian hasil belajarPenilaian hasil belajar
Penilaian hasil belajar
masthoyib
 
Format sk kd, silbus, kkm
Format sk kd, silbus, kkmFormat sk kd, silbus, kkm
Format sk kd, silbus, kkmmasthoyib
 
11 класс информационная культура современного человека
11 класс информационная культура современного человека11 класс информационная культура современного человека
11 класс информационная культура современного человекаFedos909
 
Project 2 Data Mining Part 1
Project 2 Data Mining Part 1Project 2 Data Mining Part 1
Project 2 Data Mining Part 1
rayborg
 
Assignment 2 a.c
Assignment 2 a.cAssignment 2 a.c
Assignment 2 a.c
Rohan Manawat
 
Silicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for ReusabilitySilicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for Reusability
jcruizjdev
 
Research week3 idea
Research week3 ideaResearch week3 idea
Research week3 idea
rayborg
 
Mushroom tutorial http://rjdatamining.weebly.com
Mushroom tutorial http://rjdatamining.weebly.comMushroom tutorial http://rjdatamining.weebly.com
Mushroom tutorial http://rjdatamining.weebly.com
rayborg
 
Cybersecurity cyberlab3
Cybersecurity cyberlab3Cybersecurity cyberlab3
Cybersecurity cyberlab3
rayborg
 
Kko ktsp lengkap
Kko ktsp lengkapKko ktsp lengkap
Kko ktsp lengkap
masthoyib
 
Final delegation
Final delegationFinal delegation
Final delegation
Deepa Dinesh
 
Eric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDK
Eric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDKEric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDK
Eric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDK
GuardSquare
 
Know Your MVP?
Know Your MVP?Know Your MVP?
Know Your MVP?
Lean India Summit
 
Gradle presentation
Gradle presentationGradle presentation
Gradle presentation
Oriol Jiménez
 
Eric Lafortune - ProGuard and DexGuard for optimization and protection
Eric Lafortune - ProGuard and DexGuard for optimization and protectionEric Lafortune - ProGuard and DexGuard for optimization and protection
Eric Lafortune - ProGuard and DexGuard for optimization and protection
GuardSquare
 
برنامه نویسی در اندروید
برنامه نویسی در اندرویدبرنامه نویسی در اندروید
برنامه نویسی در اندرویدamironline
 
July 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKIJuly 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKI
Suki Huang
 
Slidshare
SlidshareSlidshare
Slidshare
mapaz91
 

Viewers also liked (18)

Penilaian hasil belajar
Penilaian hasil belajarPenilaian hasil belajar
Penilaian hasil belajar
 
Format sk kd, silbus, kkm
Format sk kd, silbus, kkmFormat sk kd, silbus, kkm
Format sk kd, silbus, kkm
 
11 класс информационная культура современного человека
11 класс информационная культура современного человека11 класс информационная культура современного человека
11 класс информационная культура современного человека
 
Project 2 Data Mining Part 1
Project 2 Data Mining Part 1Project 2 Data Mining Part 1
Project 2 Data Mining Part 1
 
Assignment 2 a.c
Assignment 2 a.cAssignment 2 a.c
Assignment 2 a.c
 
Silicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for ReusabilitySilicon Valley Code Camp - JSF Controller for Reusability
Silicon Valley Code Camp - JSF Controller for Reusability
 
Research week3 idea
Research week3 ideaResearch week3 idea
Research week3 idea
 
Mushroom tutorial http://rjdatamining.weebly.com
Mushroom tutorial http://rjdatamining.weebly.comMushroom tutorial http://rjdatamining.weebly.com
Mushroom tutorial http://rjdatamining.weebly.com
 
Cybersecurity cyberlab3
Cybersecurity cyberlab3Cybersecurity cyberlab3
Cybersecurity cyberlab3
 
Kko ktsp lengkap
Kko ktsp lengkapKko ktsp lengkap
Kko ktsp lengkap
 
Final delegation
Final delegationFinal delegation
Final delegation
 
Eric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDK
Eric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDKEric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDK
Eric Lafortune - ProGuard: Optimizer and obfuscator in the Android SDK
 
Know Your MVP?
Know Your MVP?Know Your MVP?
Know Your MVP?
 
Gradle presentation
Gradle presentationGradle presentation
Gradle presentation
 
Eric Lafortune - ProGuard and DexGuard for optimization and protection
Eric Lafortune - ProGuard and DexGuard for optimization and protectionEric Lafortune - ProGuard and DexGuard for optimization and protection
Eric Lafortune - ProGuard and DexGuard for optimization and protection
 
برنامه نویسی در اندروید
برنامه نویسی در اندرویدبرنامه نویسی در اندروید
برنامه نویسی در اندروید
 
July 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKIJuly 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKI
 
Slidshare
SlidshareSlidshare
Slidshare
 

Similar to Android tools

Android 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndroid 101 - Introduction to Android Development
Android 101 - Introduction to Android Development
Andy Scherzinger
 
Gradle enabled android project
Gradle enabled android projectGradle enabled android project
Gradle enabled android project
Shaka Huang
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
zhang ghui
 
Next Step, Android Studio!
Next Step, Android Studio!Next Step, Android Studio!
Next Step, Android Studio!
Édipo Souza
 
Android gradle-build-system-overview
Android gradle-build-system-overviewAndroid gradle-build-system-overview
Android gradle-build-system-overview
Kevin He
 
Introduction to android studio 2.0 and data binding library
Introduction to android studio 2.0 and data binding libraryIntroduction to android studio 2.0 and data binding library
Introduction to android studio 2.0 and data binding library
Kaushal Dhruw
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012
hakersinfo
 
Fusing AI With AR for Android - 9/28/2019
Fusing AI With AR for Android - 9/28/2019Fusing AI With AR for Android - 9/28/2019
Fusing AI With AR for Android - 9/28/2019
Stephen Wylie
 
Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
Kaushal Dhruw
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Hung-yu Lin
 
iOS团队开发实践经验
iOS团队开发实践经验iOS团队开发实践经验
iOS团队开发实践经验
Jiyee Sheng
 
Ci. Drupal Camp Berlin 2014
Ci. Drupal Camp Berlin 2014Ci. Drupal Camp Berlin 2014
Ci. Drupal Camp Berlin 2014
Yuriy Gerasimov
 
Gradle 101
Gradle 101Gradle 101
Gradle 101
Kurt Mbanje
 
Becoming android developer for beginners
Becoming android developer for beginnersBecoming android developer for beginners
Becoming android developer for beginners
Anggi Mardiyono
 
Hands on Gradle
Hands on GradleHands on Gradle
Hands on Gradle
Mushfekur Rahman
 
Android 101.pdf
Android 101.pdfAndroid 101.pdf
Android 101.pdf
AbiramiB5
 
CNIT 128 6. Analyzing Android Applications (Part 1)
CNIT 128 6. Analyzing Android Applications (Part 1)CNIT 128 6. Analyzing Android Applications (Part 1)
CNIT 128 6. Analyzing Android Applications (Part 1)
Sam Bowne
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
Scott Althouse
 
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Nicolas HAAN
 
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Michael Rys
 

Similar to Android tools (20)

Android 101 - Introduction to Android Development
Android 101 - Introduction to Android DevelopmentAndroid 101 - Introduction to Android Development
Android 101 - Introduction to Android Development
 
Gradle enabled android project
Gradle enabled android projectGradle enabled android project
Gradle enabled android project
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
 
Next Step, Android Studio!
Next Step, Android Studio!Next Step, Android Studio!
Next Step, Android Studio!
 
Android gradle-build-system-overview
Android gradle-build-system-overviewAndroid gradle-build-system-overview
Android gradle-build-system-overview
 
Introduction to android studio 2.0 and data binding library
Introduction to android studio 2.0 and data binding libraryIntroduction to android studio 2.0 and data binding library
Introduction to android studio 2.0 and data binding library
 
Android village @nullcon 2012
Android village @nullcon 2012 Android village @nullcon 2012
Android village @nullcon 2012
 
Fusing AI With AR for Android - 9/28/2019
Fusing AI With AR for Android - 9/28/2019Fusing AI With AR for Android - 9/28/2019
Fusing AI With AR for Android - 9/28/2019
 
Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
iOS团队开发实践经验
iOS团队开发实践经验iOS团队开发实践经验
iOS团队开发实践经验
 
Ci. Drupal Camp Berlin 2014
Ci. Drupal Camp Berlin 2014Ci. Drupal Camp Berlin 2014
Ci. Drupal Camp Berlin 2014
 
Gradle 101
Gradle 101Gradle 101
Gradle 101
 
Becoming android developer for beginners
Becoming android developer for beginnersBecoming android developer for beginners
Becoming android developer for beginners
 
Hands on Gradle
Hands on GradleHands on Gradle
Hands on Gradle
 
Android 101.pdf
Android 101.pdfAndroid 101.pdf
Android 101.pdf
 
CNIT 128 6. Analyzing Android Applications (Part 1)
CNIT 128 6. Analyzing Android Applications (Part 1)CNIT 128 6. Analyzing Android Applications (Part 1)
CNIT 128 6. Analyzing Android Applications (Part 1)
 
Rhapsody reverseengineering
Rhapsody reverseengineeringRhapsody reverseengineering
Rhapsody reverseengineering
 
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
Comment développer une application mobile en 8 semaines - Meetup PAUG 24-01-2023
 
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
 

Android tools

Editor's Notes

  1. http://developer.android.com/sdk/index.html https://zh.wikipedia.org/wiki/Android_Studio http://tools.android.com/recent
  2. https://zh.wikipedia.org/wiki/Android_Studio http://developer.android.com/tools/studio/eclipse-transition-guide.html#project-structure project structure, build system, debugging, and application packaging
  3. https://zh.wikipedia.org/wiki/Android_Studio http://developer.android.com/tools/studio/eclipse-transition-guide.html#project-structure project structure, build system, debugging, and application packaging
  4. https://zh.wikipedia.org/wiki/Android_Studio http://developer.android.com/tools/studio/eclipse-transition-guide.html#project-structure project structure, build system, debugging, and application packaging
  5. http://developer.android.com/tools/building/plugin-for-gradle.html
  6. http://gradle.org/ https://zh.wikipedia.org/wiki/Gradle
  7. http://developer.android.com/tools/building/plugin-for-gradle.html
  8. http://developer.android.com/tools/building/configuring-gradle.html http://developer.android.com/tools/building/plugin-for-gradle.html
  9. http://developer.android.com/tools/building/configuring-gradle.html http://developer.android.com/tools/building/plugin-for-gradle.html
  10. http://developer.android.com/tools/building/configuring-gradle.html http://developer.android.com/tools/building/plugin-for-gradle.html
  11. http://developer.android.com/tools/building/configuring-gradle.html http://developer.android.com/tools/building/plugin-for-gradle.html
  12. http://developer.android.com/tools/building/configuring-gradle.html http://developer.android.com/tools/building/plugin-for-gradle.html
  13. http://developer.android.com/tools/building/configuring-gradle.html http://developer.android.com/tools/building/plugin-for-gradle.html
  14. http://developer.android.com/tools/building/configuring-gradle.html http://developer.android.com/tools/building/plugin-for-gradle.html
  15. http://developer.android.com/images/build.png http://developer.android.com/sdk/installing/studio-build.html#detailed-build
  16. ./gradlew tasks
  17. http://developer.android.com/sdk/installing/migrate.html http://tools.android.com/tech-docs/new-build-system/migrating-from-eclipse-projects http://developer.android.com/tools/studio/eclipse-transition-guide.html#project-structure sourceSets{xxx}
  18. http://macshuo.com/
  19. http://www.charlesproxy.com/
  20. http://developer.android.com/tools/building/manifest-merge.html