Upgrade to Pro — share decks privately, control downloads, hide ads and more …

3 killer apps which make my life easier as an Android developer

3 killer apps which make my life easier as an Android developer

Talk given at the following conferences/events:
- Droidcon Lisbon (April / 2022)

During my journey, I realized that the more I advanced in my career, the more time matters. In order to optimize my life, it was important to know the right tool for the right job and use it in the most effective way.

In this talk we will deep dive into 3 killer apps which I cannot live without: HTTP proxy, system keyboard utility and a secret tool. You will learn how to use them through real examples.

After this talk, your daily work won't be the same. Those tools will boost your efficiency to another level, allowing you to focus on what really matters.

Zhenlei Ji

April 22, 2022
Tweet

More Decks by Zhenlei Ji

Other Decks in Programming

Transcript

  1. 3 killer apps which make my life easier as an

    Android developer Zhenlei Ji @zhenleiji
  2. Chapter 1 • By improving the impact produced • By

    reducing the time invested • By shifting to a higher-leverage activity Focus on High Leverage Activities
  3. Charles Proxy is an interactive man-in-the-middle proxy for HTTP and

    HTTPS that enables a developer to view/edit all networking requests and responses. MITM
  4. Key features • SSL Proxying • Throttling • No Caching

    • Breakpoint • Map local • Map remote • Mirror
  5. SSL Proxying Project Setup <?xml version="1.0" encoding="UTF-8" standalone="no"?> <manifest package="com.zji.app"

    xmlns:android="http://schemas.android.com/apk/res/android"> <application android:networkSecurityConfig="@xml/network_security_config" /> </manifest> 2. Set the android:networkSecurityCon fi g fi eld in your AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <network-security-config> <debug-overrides> <trust-anchors> <certificates src="system" /> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config> 1. Create a network_security_con fi g.xml fi le in your res/xml/ directory
  6. No caching How would you disable the cache? fun provideNetworkClient(context:

    Context): OkHttpClient { return OkHttpClient().newBuilder() .addInterceptor { chain -> val request = chain.request() .newBuilder() .header("Cache-Control", "no-cache") .build() chain.proceed(request) } .build() } Code
  7. Map Local How would you mock the response? • MockWebServer

    • https://github.com/square/okhttp/tree/master/mockwebserver • Wiremock • https://github.com/wiremock/wiremock
  8. Alternatives? mitmproxy 👍 Command line 👍 Web Interface 👍 Work

    on macOS, Linux, and Windows 👍 Open Source (Free) 👎 Doesn’t have network throttling Proxyman 👍 High-performance macOS app 👍 Web Interface 👎 Doesn’t work on Linux 👎 $69 Standard Licence 💵 https://mitmproxy.org/ https://proxyman.io/
  9. Keyboard Maestro Overview Trigger Action Macro https://wiki.keyboardmaestro.com/manual/Features#Actions Hot Key Typed

    String Application Clipboard Changed Cron/Periodic Display Layout Changed Folder Changed Login Mounted Volume USB Device Wireless Network Audio Output Changed Sleep Wake … https://wiki.keyboardmaestro.com/manual/Features#Triggers Application Clipboard Run scripts Files Safari/Google Chrome Image Send noti fi cation Sleep Restart Shutdown KeyChain iTunes QuickTime …
  10. Personal Information CNH CPF RG Passport NIE Support Number Citizenship

    application number Address Phone Number Email Paypal zpass
  11. - James Bull, Design Lead at Shopify “It's crazy to

    think, but I probably use Alfred 100x or more in my day. The custom workflows, web searches, clipboard history, file search, app launcher, preference syncing, spell check, dictionary support, and more make it so damn useful.”
  12. Alfred Workflow Where can I fi nd it? http://www.packal.org/work fl

    ow-list https://www.alfredapp.com/work fl ows/
  13. Alfred Workflow Some awesome work fl ows adb-alfred ADB WiFi

    Android Emulator Restart Application iOS Simulator Fakeum Development Github Dash StackOver fl ow Reddit GIPHY Search CircleCI TravisCI Jenkins CI Spotify Mini Player Hide Desktop Others The items are clickable, it will redirect to the page which you can download the work fl ow
  14. Alfred Workflow Create custom ones • Open new Chrome window

    • Scrcpy • Android Expresso • Type into your Android • Android proxy The items are clickable, it will redirect to the page which you can download the work fl ow
  15. - Bill Gates “I choose a lazy person to do

    a hard job. Because a lazy person will find an easy way to do it.”
  16. References • http://www.e ff ectiveengineer.com/ • https://www.charlesproxy.com/documentation/welcome/ • https://proxyman.io/ •

    https://mitmproxy.org/ • https://www.keyboardmaestro.com/ • https://wiki.keyboardmaestro.com/Home_Page • https://www.asiane ffi ciency.com/technology/keyboard-maestro/ • https://www.alfredapp.com/help/guides-and-tutorials/ • http://www.packal.org/work fl ow-list