k-9 mail for android
TRANSCRIPT
![Page 2: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/2.jpg)
Hi!
![Page 3: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/3.jpg)
I'm Jesse
![Page 4: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/4.jpg)
I'm a Perl Hacker
![Page 5: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/5.jpg)
Also, I like to break things
![Page 6: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/6.jpg)
What is “K-9”?
![Page 7: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/7.jpg)
![Page 8: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/8.jpg)
What is “K-9”?
![Page 9: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/9.jpg)
Email client
![Page 10: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/10.jpg)
For Android
![Page 11: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/11.jpg)
Why “K-9”?
![Page 12: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/12.jpg)
My favorite mail client
![Page 13: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/13.jpg)
mutt
![Page 14: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/14.jpg)
![Page 15: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/15.jpg)
K-9
![Page 16: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/16.jpg)
![Page 17: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/17.jpg)
+ =
![Page 18: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/18.jpg)
Didn't it come with a mail
client?
![Page 19: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/19.jpg)
No Search
![Page 20: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/20.jpg)
No “stars”
![Page 21: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/21.jpg)
No Self-Signed Certificate Support
![Page 22: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/22.jpg)
No BCC-Self
![Page 23: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/23.jpg)
No IMAP IDLE
![Page 24: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/24.jpg)
No multi-select
![Page 25: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/25.jpg)
No keybindings
![Page 26: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/26.jpg)
No IMAP Deletes
![Page 27: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/27.jpg)
I almost returned my new phone
![Page 28: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/28.jpg)
It's Open Source
![Page 29: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/29.jpg)
I could fix it
![Page 30: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/30.jpg)
“How hard could it be?”
![Page 31: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/31.jpg)
It's all Java
![Page 32: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/32.jpg)
..the last time I used Java...
![Page 33: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/33.jpg)
I used Mosaic
![Page 34: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/34.jpg)
Appletswere new
![Page 35: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/35.jpg)
Internet Explorer 1.0
was brand new
![Page 36: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/36.jpg)
![Page 37: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/37.jpg)
Java is supposed to be
“easy” for newbies
![Page 38: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/38.jpg)
How hard could it be?
![Page 39: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/39.jpg)
So I got the code
![Page 40: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/40.jpg)
git clone git://android.git.kernel.org/platform/packages/apps/Email.git
![Page 41: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/41.jpg)
Only one change REALLY mattered
![Page 42: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/42.jpg)
Delete from IMAP Servers
![Page 43: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/43.jpg)
h--- a/src/com/android/email/MessagingController.java
+++ b/src/com/android/email/MessagingController.java
@@ -455,13 +458,28 @@ public class MessagingController implements Runnable {
for (Message message : remoteMessages) {
Message localMessage = localUidMap.get(message.getUid());
if (localMessage == null ||
(!localMessage.isSet(Flag.X_DOWNLOADED_FULL) &&
+ !localMessage.isSet(Flag.DELETED) &&
!localMessage.isSet(Flag.X_DOWNLOADED_PARTIAL))) {
unsyncedMessages.add(message);
}
}
}
+ for (Message message : localMessages) {
+ Message remoteMessage = remoteUidMap.get(message.getUid());
+ // skip things deleted on the server side
+ if (remoteMessage != null && message.isSet(Flag.DELETED)) {
+ remoteMessage.setFlag(Flag.DELETED, true);
+ }
+ }
![Page 44: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/44.jpg)
8 loc
![Page 45: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/45.jpg)
I'm done!
![Page 46: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/46.jpg)
Building K-9(First time)
![Page 47: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/47.jpg)
No Makefile
![Page 48: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/48.jpg)
It's Java
![Page 49: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/49.jpg)
No build.xml
![Page 50: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/50.jpg)
“Just build the whole OS”
![Page 51: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/51.jpg)
No
![Page 52: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/52.jpg)
10 Hours
![Page 53: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/53.jpg)
Worked great in emulator
![Page 54: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/54.jpg)
...but not on a real phone
![Page 55: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/55.jpg)
For “security”
![Page 56: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/56.jpg)
What now?
![Page 57: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/57.jpg)
Submit the change to Android?
![Page 58: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/58.jpg)
I tried
![Page 59: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/59.jpg)
They hadn't yet figured out the
whole community thing
![Page 60: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/60.jpg)
(It's gotten better)
![Page 61: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/61.jpg)
I like to share
![Page 62: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/62.jpg)
How to share?
![Page 63: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/63.jpg)
Fork!
![Page 64: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/64.jpg)
Fork the OS?!?!
![Page 65: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/65.jpg)
What did it take to fork?
![Page 66: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/66.jpg)
Google Code Project
![Page 67: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/67.jpg)
![Page 68: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/68.jpg)
What's next?
![Page 69: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/69.jpg)
Android Developer Account
![Page 70: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/70.jpg)
![Page 71: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/71.jpg)
Pay $20 to become an
Android Market Publisher
![Page 72: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/72.jpg)
Submit a web form
![Page 73: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/73.jpg)
Wait <10s
![Page 74: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/74.jpg)
Profit!
![Page 75: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/75.jpg)
Oh, wait
![Page 76: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/76.jpg)
(It's free)
![Page 77: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/77.jpg)
Jesse,
[...]
Please inform Motorola tech of this as they have recommended your program but disavow any knowledge of how to fix it, as you are 3rd party. They did though, suggest I contact godaddy, and they did give me your email, so they weren't completely useless.
ALSO, IT WOULD BE HELPFUL IF YOU SOMEHOW HAD A PHONE NUMBER ON YOUR SITE, and an easier way to contact your tech people.
M. A.
![Page 78: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/78.jpg)
Writing end-user
software is... different
![Page 79: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/79.jpg)
What did Google think?
![Page 80: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/80.jpg)
Some:
![Page 81: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/81.jpg)
But why couldn't you
submit patches?
![Page 82: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/82.jpg)
Most:
![Page 83: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/83.jpg)
Awesome...
![Page 84: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/84.jpg)
...So, there's this feature I
want...
![Page 85: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/85.jpg)
K-9 Today
![Page 86: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/86.jpg)
I have co-conspirators!
![Page 87: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/87.jpg)
Authors (by commit count)
● 505 jessev
● 256 danapple0
● 143 baolongnt
● 45 cketti
● 31 ismarc31
● 17 young.bradley
● 16 brock.tice
● 5 dumbfile
● 4 tibbetts
● 2 sparrowhawk
● 1 yostinso++
![Page 88: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/88.jpg)
They write features
![Page 89: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/89.jpg)
They fix bugs
![Page 90: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/90.jpg)
They help users
![Page 91: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/91.jpg)
They make K-9 awesome
![Page 92: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/92.jpg)
Over 150,000 Downloads
![Page 93: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/93.jpg)
1500 “Bug” Reports
![Page 94: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/94.jpg)
App Ecosystem
![Page 95: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/95.jpg)
K-9 Mail Locale Plugin
![Page 96: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/96.jpg)
K-9 Data Killer
![Page 97: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/97.jpg)
Email Popup
![Page 98: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/98.jpg)
K-9 features
![Page 99: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/99.jpg)
Updated UI
![Page 100: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/100.jpg)
![Page 101: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/101.jpg)
IMAP Push
![Page 102: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/102.jpg)
Configurable polling
![Page 103: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/103.jpg)
Multi-folder sync
![Page 104: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/104.jpg)
“Stars”
![Page 105: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/105.jpg)
![Page 106: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/106.jpg)
Multi-select
![Page 107: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/107.jpg)
![Page 108: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/108.jpg)
Message Previews
![Page 109: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/109.jpg)
![Page 110: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/110.jpg)
BCC-Self
![Page 111: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/111.jpg)
Signatures
![Page 112: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/112.jpg)
Multiple Identities
![Page 113: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/113.jpg)
CRAM-MD5 Auth
![Page 114: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/114.jpg)
Self-Signed SSL Certificates
![Page 115: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/115.jpg)
![Page 116: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/116.jpg)
Keyboard shortcuts
![Page 117: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/117.jpg)
Full-text search
![Page 118: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/118.jpg)
Lots more!
![Page 119: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/119.jpg)
Getting started hacking on K-9
![Page 120: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/120.jpg)
Get the SDK
![Page 121: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/121.jpg)
(It's free)
![Page 122: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/122.jpg)
Linux, OSX or Windows
![Page 123: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/123.jpg)
http://developer.android.com/sdk
![Page 124: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/124.jpg)
Create an “AVD”
![Page 125: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/125.jpg)
android create avd --name Fone --target android-7
![Page 126: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/126.jpg)
Start the emulator
![Page 127: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/127.jpg)
emulator -avd Fone
![Page 128: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/128.jpg)
Checking out the code
![Page 129: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/129.jpg)
svn co http://k9mail.googlecode.com/svn/k9mail/trunk/ k9
![Page 130: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/130.jpg)
Create a local.properties
file
![Page 131: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/131.jpg)
sdk.dir=/home/jesse/android-sdk-linux
![Page 132: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/132.jpg)
Building K-9
![Page 133: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/133.jpg)
ant debug
![Page 134: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/134.jpg)
Getting K-9 to your device
![Page 135: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/135.jpg)
adb install bin/K9-debug.apk
![Page 136: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/136.jpg)
Send patches!
![Page 137: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/137.jpg)
googlecode.com/k9mail
![Page 138: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/138.jpg)
Time to get hacking!
![Page 139: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/139.jpg)
Come hack on K9 at Frog Cafe
tomorrow!
![Page 140: K-9 Mail for Android](https://reader035.vdocument.in/reader035/viewer/2022081400/5558320dd8b42ac6078b4608/html5/thumbnails/140.jpg)
Thanks!