Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android Studio Plugin Development
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Realm
April 18, 2017
Technology
0
7.7k
Android Studio Plugin Development
Android Studio Plugin
Droid Knights, Seoul, 2017
Youngho Cha
Realm
April 18, 2017
Tweet
Share
More Decks by Realm
See All by Realm
WWDC 2017 Review
realm
0
2.1k
Xcode shortcuts
realm
0
4.7k
Self Branding with GitHub
realm
0
4.3k
Realm Mobile Platform overview and demo
realm
0
2.1k
Realm advanced topics and demo
realm
0
2k
Realm introduction Seoul meetup 10
realm
0
2.2k
Stuart Hall: How I got 2.3 Million App Downloads
realm
0
1.9k
James Majors: What the Swiftly Func?
realm
1
4.3k
Simina Pasat: Continuous everything for iOS apps
realm
0
650
Other Decks in Technology
See All in Technology
トラブルの大半は「言ってない」x「言ってない」じゃねーか!!
ichimichi
0
170
dbt meetup #19 『dbtを『なんとなく動かす』を卒業します』
tiltmax3
0
120
AIで 浮いた時間で 何をする? 2026春 #devsumi
konifar
16
3.4k
LY Tableauでの Tableau x AIの実践 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
790
社内ワークショップで終わらせない 業務改善AIエージェント開発
lycorptech_jp
PRO
1
380
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
Digitization部 紹介資料
sansan33
PRO
1
6.9k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
8
1.2k
【Developers Summit 2026】Memory Is All You Need:コンテキストの「最適化」から「継続性」へ ~RAGを進化させるメモリエンジニアリングの最前線~
shisyu_gaku
5
790
Webアクセシビリティ技術と実装の実際
tomokusaba
0
110
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
180
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
220
BBQ
matthewcrist
89
10k
We Have a Design System, Now What?
morganepeng
55
8k
Leo the Paperboy
mayatellez
4
1.5k
Writing Fast Ruby
sferik
630
62k
The Language of Interfaces
destraynor
162
26k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
210
The Limits of Empathy - UXLibs8
cassininazir
1
240
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
Transcript
(@ganachoco)
I've got a dream Source: disney.com
.
...
None
None
idegen.sh
Build
None
API References Documentation
IntelliJ IDEA Community Edition Android Studio
API
API
Plugin Development Setup
build.gradle
build.gradle
build.gradle
plugin.xml
Entry Point • Action ◦ Menu ◦ Toolbar • Component
◦ Application ◦ Project ◦ Module
plugin.xml (Actions)
Action
plugin.xml (Components)
Component Level ApplicationComponent ProjectComponent ModuleComponent
Application Component IDE Launched IDE Exited initComponent() disposeComponent()
Project Component IDE Launched IDE Exited projectOpened() projectClosed()
Module Component IDE Launched IDE Exited moduleAdded() Open Project Close
Project
Messaging Infrastructure
Topic • ProjectTopics ◦ PROJECT_ROOTS ▪ ModuleRootListener ◦ MODULES ▪
ModuleListener • VirtualFileManager ◦ VFS_CHANGES ▪ BulkFileListener • Ӓ৻... ◦ public static final Topic ਵ۽ Ѩ࢝
Example: ModuleListener
Example: ModuleListener
plugin.xml (Services)
ServiceManager ServiceManager applicationService projectService ModuleServiceManager moduleService
Service
User Interface Based Swing Component Popup Notification ToolWindow GUI Builder
GUI Builder
GUI Builder
ToolWindow
ToolWindow
And many others...
publish
publish
new upload
plugin update
Conclusion • Use the Source! ◦ Platform Sources ◦ Other
plugins sources