Post on 15-Jul-2015
Android
DroidKaigi
@operandoOS
Shinobu Okano
Mercari, Inc.
Android Engineer
Garum https://github.com/operando/Garum
http://hack-it-iron.hatenablog.com/
()
( )
First Step Developer Framework
2012/03 2013/03 2014/03 2015/01
Mercari
First Step
Android??
Android??
??
??
(_)
Genymotion
https://www.genymotion.com
/ /
etc
??
Android
Android http://hack-it-iron.hatenablog.com/entry/
2015/03/22/195939
Android Training + http://developer.android.com/training/index.html
API Guides + http://developer.android.com/guide/index.html
AndroidTraining (mixi) + http://mixi-inc.github.io/AndroidTraining/
Qiita tags Android http://qiita.com/tags/android
1
TwitterClient https://github.com/operando/TwitterClient
+
+
+
+ Android
*
*
* API
*
*
*
* API
*
*
*
* API
*
OSS
iosched + https://github.com/google/iosched
Rebuild + https://github.com/rejasupotaro/Rebuild
WordPress-Android + https://github.com/wordpress-mobile/WordPress-Android
wordpress-mobile + https://github.com/wordpress-mobile
First Step
*
*
*
*
Developer
*
* View
*
* View
OK!
OK!
*
* Google Play Service
*
https://developer.android.com/google/play-services/index.html
*
* View
UI
View
View
View
View
View
View
Android
View
View
*
*
*
*
*
*
*
*
*
*
*
* Web
*
* Web
*
View Tree
adb shell dumpsys activity top
View Tree
Added Fragments: #0: AccountDrawerFragment{3db2476 #0 id=0x7f0} #1: DiscoverFragment{2cf8c02d #1 id=0x7f0b00b4} #2: SearchLandingFragment{9b2667d #2 id=0x7f}
View Tree
Added Fragments: #0: AccountDrawerFragment{3db2476 #0 id=0x7f0} #1: DiscoverFragment{2cf8c02d #1 id=0x7f0b00b4} #2: SearchLandingFragment{9b2667d #2 id=0x7f}
Fragment
View Tree
SlidingTabLayout{28 app:id/tabs} SlidingTabStrip{28 68}
View Tree
View
SlidingTabLayout{28 app:id/tabs} SlidingTabStrip{28 68}
Developer
*
* View
* Release /
Framework
Framework
Framework
Framework
Android
https://sites.google.com/site/devcollaboration/
codesearch
Framework
AndroidXRef http://androidxref.com/
Framework
Frefox + https://addons.mozilla.org/ja/firefox/addon/tree-
style-tab/
Framework
Android Framework
Code Reading https://mandroidfcr.doorkeeper.jp/events
@operandoOS
Framework
Android-Command-Note https://github.com/operando/Android-Command-Note
adb logcat -v time adb logcat -v time -b main adb logcat -v time -b system adb logcat -v time -b events adb logcat -v time -b radio
) Activity
) Activity
adb shell dumpsys activity top
)
)
adb shell input text a@a.com
Android
adb-peco http://techlife.cookpad.com/entry/2014/09/09/172449
10Android
Framework
*
*
*
Mercari
!
Mercari Knowledge
Mercari Knowledge
*
* Android
* Check List
Mercari Knowledge
*
* Android
* Check List
MaterialTabHosthttps://github.com/yanzm/MaterialTabHost
Mercari
Mercari Knowledge
*
* Android
* Check List
Mercari Android
Mercari Android
QA
Client Server
Designer
Producer
QA
Client Server
Designer
Producer
Product Team
QA
Client Server
Designer
Producer
Product Team
QA
Client Server
Designer
Producer
Product Team
https://deploygate.com/
Mercari Knowledge
*
* Android
* Check List
Pull Request
Pull Request
- Check List -
Pull Request
- Check List -
Pull Request
- Check List -
Pull Request
- Check List -
*
Pull Request
- Check List -
*
*
Pull Request
- Check List -
*
*
*
Logic Check List
Logic Check List
##
- [ ] 2.x
- [ ] 4.x
- [ ] 5.x
Logic Check List
##
- [ ] ()
- [ ]
Logic Check List
##
- [ ] ()
- [ ]
Design Check List
Design Check List##
- [ ] Mobile Android 2.x
- [ ] Mobile Android 4.x
- [ ] Mobile Android 5.x
- [ ] Tablet 7inch / 10inch
Design Check List##
- [ ] Mobile Android 2.x
- [ ] Mobile Android 4.x
- [ ] Mobile Android 5.x
- [ ] Tablet 7inch / 10inch
- [ ]
WebView Check List
WebView Check List## WebView
- [ ] 2.x
- [ ] 4.0 - 4.3
- [ ] 4.4
- [ ] 5.x
WebView Check List
2.x
## WebView
- [ ] 2.x
- [ ] 4.0 - 4.3
- [ ] 4.4
- [ ] 5.x
WebView Check List
Chrominium4.4
## WebView
- [ ] 2.x
- [ ] 4.0 - 4.3
- [ ] 4.4
- [ ] 5.x
WebView Check List
WebViewAPK5.x
## WebView
- [ ] 2.x
- [ ] 4.0 - 4.3
- [ ] 4.4
- [ ] 5.x
Pull Request Please!!
https://github.com/operando/DroidKaigi
Testing
Testing
(/)
Testing??
Testing??
Integration Testing
Continuous Integration(CI)
Unit Test
UI Test
Other
Testing??
Integration Testing
Continuous Integration(CI)
Unit Test
UI Test
Other
Android Testing
*
*
* /
Android Testing
*
*
* /
Android Testing* Junit
* Espresso
* Robolectric
* UI Automator
* Appium
* Monkey Talk
etc
Android Testing
Junit + Mockito + (PowerMock)
+ (CI (CircleCI or Travis CI ))
Android Testing
*
* Product
*
* /
Mercari
Mercari
*
* S
Android
DroidKaigi
Thanks.@operandoOS
Shinobu Okano