# Dustin Summers

Recent content on Dustin Summers

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Obfuscation Fundamentals: Applying ProGuard and R8 Protections to Android Code

DevFeed: [Obfuscation Fundamentals: Applying ProGuard and R8 Protections to Android Code](<https://devfeed.tech/articles/obfuscation-32342.md>)

Original publisher: [Read original article](<https://dustn.dev/page/presentations/2019-07-24-obfuscation-fundamentals/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2026-09-17T04:13:15.404035Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [obfuscation](<https://devfeed.tech/topics/obfuscation.md>), [Android](<https://devfeed.tech/topics/android.md>), [R8](<https://devfeed.tech/topics/r8.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [meetup](<https://devfeed.tech/tags/meetup.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [proguard](<https://devfeed.tech/tags/proguard.md>), [r8](<https://devfeed.tech/tags/r8.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A presentation introducing obfuscation with ProGuard and R8, focused on applying protections to Android code. It explains how to diagnose the code entering and leaving these build tools.

### Source excerpt

This presentation was given at a MeetUp in DC. It corresponds to this series of blog posts, which is the first in a series to teach about Obfuscation/ProGuard/R8, and will primarily be centered around applying protections to Android Code. Tools such as R8 and ProGuard are available, but to many they are a black box that code goes into and stuff comes out. The following will demystify the black box, and teach developers how to properly diagnose the code going into and coming out of these build tools.

## Udacity Android Basics Course Alumni Experience

DevFeed: [Udacity Android Basics Course Alumni Experience](<https://devfeed.tech/articles/udacity-32341.md>)

Original publisher: [Read original article](<https://dustn.dev/page/presentations/2018-10-01-android-udacity/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2026-09-17T04:13:15.404035Z

Content type: article

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [course](<https://devfeed.tech/tags/course.md>), [experience](<https://devfeed.tech/tags/experience.md>)

### AI overview

The author describes providing input on life after completing Udacity's Android Basics course and on their experience working in Android.

### Source excerpt

As an alumni of the Udacity Android Basics course, they reached out for my input in life after the course and my experience working in Android.

## Modern Android Hacking

DevFeed: [Modern Android Hacking](<https://devfeed.tech/articles/modern-android-hacking-32344.md>)

Original publisher: [Read original article](<https://dustn.dev/page/presentations/2020-11-18-modern-android-hacking/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2026-09-17T04:13:15.404035Z

Content type: article

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [Hacking](<https://devfeed.tech/topics/hacking.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [hacking](<https://devfeed.tech/tags/hacking.md>), [modern](<https://devfeed.tech/tags/modern.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [summit](<https://devfeed.tech/tags/summit.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A presentation titled "Modern Android Hacking" was given at the 2020 Android Summit, which was hosted virtually due to the pandemic. The page provides a video of the presentation.

### Source excerpt

This presentation was given at the 2020 Android Summit which was hosted virtually due to the pandemic Video of Presentation:

## A Simple MVI Architecture Approach Using LiveData

DevFeed: [A Simple MVI Architecture Approach Using LiveData](<https://devfeed.tech/articles/simple-mvi-32343.md>)

Original publisher: [Read original article](<https://dustn.dev/page/presentations/2019-08-14-simple-mvi/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2026-09-17T04:13:15.404035Z

Content type: opinion

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Dagger](<https://devfeed.tech/topics/dagger.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [architecture-pattern](<https://devfeed.tech/tags/architecture-pattern.md>), [error](<https://devfeed.tech/tags/error.md>), [livedata](<https://devfeed.tech/tags/livedata.md>), [loading](<https://devfeed.tech/tags/loading.md>), [mvi](<https://devfeed.tech/tags/mvi.md>)

### AI overview

A talk from Android Summit 2019 discusses a simple implementation of the MVI architecture pattern using LiveData and the Loading, Content, Error pattern.

### Source excerpt

This was a talk provided by myself and Dan Lowe at Android Summit, 2019. In this we discuss a simple approach to the MVI (Model, View, Intent) Architecture Pattern using LiveData and the common Loading, Content, Error Pattern. Link to Dan's blog post is here which is what our talk was based around.

## Android CI/CD Pipeline Using GitHub Actions and Firebase Test Labs

DevFeed: [Android CI/CD Pipeline Using GitHub Actions and Firebase Test Labs](<https://devfeed.tech/articles/android-ci-cd-pipeline-using-github-actions-and-firebase-test-labs-32351.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2022-02-21-build-a-cicd-pipeline-using-github-actions/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2022-03-31T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [CI/CD](<https://devfeed.tech/topics/cicd.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Android](<https://devfeed.tech/topics/android.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-continuous-integration-continuous-delivery-cicd-github-actions-firebase-test-labs](<https://devfeed.tech/tags/android-continuous-integration-continuous-delivery-cicd-github-actions-firebase-test-labs.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [ci-cd-pipeline](<https://devfeed.tech/tags/ci-cd-pipeline.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

A tutorial for configuring a CI/CD pipeline for an Android project with GitHub Actions and Firebase. It explains how to run unit, UI, code-quality, and code-smell checks on pushes and pull requests, and how to block merges until required checks pass.

### Source excerpt

As a Software Engineer, knowing how to set up a solid CI/CD Pipeline for your project is a vital skill. Whether you're starting a side project or working on a well established project, having a solid CI/CD pipeline is going to enable you or your team to move faster. The end goal is to protect your branches and ensure only quality code makes it in that passes your status checks.

## Removing Calendar Invites using PowerShell + Azure CLI

DevFeed: [Removing Calendar Invites using PowerShell + Azure CLI](<https://devfeed.tech/articles/removing-calendar-invites-using-powershell-azure-cli-32350.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2021-12-20-removing-calendar-invites-using-azure-cli/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2021-12-20T10:26:38Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [PowerShell](<https://devfeed.tech/topics/powershell.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [openssl](<https://devfeed.tech/topics/openssl.md>), [active directory](<https://devfeed.tech/topics/active-directory.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [active-directory](<https://devfeed.tech/tags/active-directory.md>), [azure](<https://devfeed.tech/tags/azure.md>), [cli](<https://devfeed.tech/tags/cli.md>), [commands](<https://devfeed.tech/tags/commands.md>), [it-management-services-powershell-microsoft-azure-azure-active-directory](<https://devfeed.tech/tags/it-management-services-powershell-microsoft-azure-azure-active-directory.md>), [openssl](<https://devfeed.tech/tags/openssl.md>), [powershell](<https://devfeed.tech/tags/powershell.md>)

### AI overview

The article describes removing calendar invitations created by a departing employee while retaining the employee's account temporarily. It discusses PowerShell access problems on updated Macs caused by differing OpenSSL versions and presents Azure CLI as an alternative for managing the Azure environment.

### Source excerpt

Apart from my day job, I moonlight helping small-to-medium size companies' install and manage secure IT infrastructures, along with building and creating applications for them. I offer these services (and more) through my company, Attica, LLC. It is a passion of mine to help companies that are starting out have a solid IT/Cyber infrastructure that can scale with their company as these businesses are vulnerable and common targets of ransomware and phishing attacks.

## Fixing APK Analyzer terminal errors by selecting a compatible Java version

DevFeed: [Fixing APK Analyzer terminal errors by selecting a compatible Java version](<https://devfeed.tech/articles/apkanalyzer-error-32349.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2021-12-12-issues-with-apkanalyzer/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2021-12-12T10:26:38Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [APK](<https://devfeed.tech/topics/apk.md>), [Java](<https://devfeed.tech/topics/java.md>), [CI/CD Pipeline](<https://devfeed.tech/topics/ci-cd-pipeline.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [android-xmlschema-error-apkanalyzer-troubleshooting](<https://devfeed.tech/tags/android-xmlschema-error-apkanalyzer-troubleshooting.md>), [apk](<https://devfeed.tech/tags/apk.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [error](<https://devfeed.tech/tags/error.md>), [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>)

### AI overview

This tutorial addresses an APK Analyzer error encountered when running the tool from a terminal, including in a CI/CD workflow. It explains that Android Studio's bundled JDK may be incompatible and describes selecting another installed Java version, with guidance for making the change permanent.

### Source excerpt

Recently, I was tasked with using Google provided tools to decompile an APK in a CI/CD pipeline. This is great, because Google provides a tool called APK Analyzer, and provide tools both within the IDE itself and options to run it via the Command Line. I can talk more about the actual task later. For now, I want to discuss the issue that I first ran into when attempting to run apkanalyzer from the terminal.

## DABS: Download Android App Bundle Files from a Device or Emulator

DevFeed: [DABS: Download Android App Bundle Files from a Device or Emulator](<https://devfeed.tech/articles/dabs-32348.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2021-11-21-dabs/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2021-08-21T10:26:38Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [adb](<https://devfeed.tech/topics/adb.md>), [Android](<https://devfeed.tech/topics/android.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Emulator](<https://devfeed.tech/topics/emulator.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [android-security-engineering-security-research](<https://devfeed.tech/tags/android-security-engineering-security-research.md>), [code](<https://devfeed.tech/tags/code.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [download](<https://devfeed.tech/tags/download.md>), [files](<https://devfeed.tech/tags/files.md>), [function](<https://devfeed.tech/tags/function.md>), [packages](<https://devfeed.tech/tags/packages.md>), [repo](<https://devfeed.tech/tags/repo.md>), [shell](<https://devfeed.tech/tags/shell.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

This tutorial introduces DABS, a fish shell function that uses Android Debug Bridge to find packages and download all files associated with an app from an Android device or emulator. It explains the need to retrieve multiple files when apps use App Bundles and outlines installation, configuration, and usage.

### Source excerpt

Hey Android Enthusiasts, Security Researchers, EL33T H@CK3Rs, and people who followed this link! Ever need to download a binary file from your Android device/emulator, but don't know the package name or the path? Well, you could use the following, which I have been doing for years... adb shell pm list packages | grep <search term for app> adb shell pm path <package from above> adb pull <path> Easy, right? But these days with App Bundles, binaries don't come nicely packaged up like they use to in a single .

## DIY Website with HUGO

DevFeed: [DIY Website with HUGO](<https://devfeed.tech/articles/diy-website-with-hugo-32352.md>)

Original publisher: [Read original article](<https://dustn.dev/post/diy-website-with-hugo/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2020-09-26T10:26:38Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [Hugo](<https://devfeed.tech/topics/hugo.md>), [Development](<https://devfeed.tech/topics/development.md>), [coding](<https://devfeed.tech/topics/coding.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [cicd](<https://devfeed.tech/tags/cicd.md>), [development](<https://devfeed.tech/tags/development.md>), [diy](<https://devfeed.tech/tags/diy.md>), [go-hugo-firebase-docker-git-github-github-actions](<https://devfeed.tech/tags/go-hugo-firebase-docker-git-github-github-actions.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [portfolio](<https://devfeed.tech/tags/portfolio.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

A step-by-step guide for people with little coding experience to build a customized personal portfolio or blog website with Hugo. It covers website creation, repositories, hosting, and CI/CD pipelines, while presenting the process as a multi-weekend learning journey.

### Source excerpt

Building a personal portfolio or blog website can be inexpensive and a fun learning experience. Sites like SquareSpace, Wix, WordPress are great if you just want to immediately start writing blogs, but they can either be pricey or lack some customization that you may desire. For instance, sites like Wix/SquareSpace monthly fee's can be from $12.00 - $22.00 a month. Some may think that is worth it and decide to go that route.

## ProGuard & R8: Part 2

DevFeed: [ProGuard & R8: Part 2](<https://devfeed.tech/articles/proguard-r8-part-2-32346.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2019-11-20-android-build-pipeline-hands-on/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2019-11-20T09:00:00Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [R8](<https://devfeed.tech/topics/r8.md>), [Android](<https://devfeed.tech/topics/android.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Java](<https://devfeed.tech/topics/java.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [proguard](<https://devfeed.tech/tags/proguard.md>), [proguard-android-r8-smali-dalvik-jvm-kotlin-art-gradle-java](<https://devfeed.tech/tags/proguard-android-r8-smali-dalvik-jvm-kotlin-art-gradle-java.md>), [r8](<https://devfeed.tech/tags/r8.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

A hands-on tutorial covering the Android build pipeline with ProGuard and R8. It walks through compiling Java or Kotlin source code, using Android Build Tools, and examining generated bytecode.

### Source excerpt

This blog post is the second in a series to teach about the build tools ProGuard and R8, and the first in the hands-on portion of the series. In the first post I talked about the Android Build Pipeline. In this blog, I would like to actually reinforce those concepts with hands on exercises. If you haven't read the first blog on this topic, this is part two in that series, so I highly suggest going back and understanding that material first.

## Understanding the Android Build Pipeline with ProGuard and R8

DevFeed: [Understanding the Android Build Pipeline with ProGuard and R8](<https://devfeed.tech/articles/proguard-r8-part-1-32347.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2019-11-6-understanding-the-android-build-pipeline/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2019-11-06T12:08:40Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [R8](<https://devfeed.tech/topics/r8.md>), [Code](<https://devfeed.tech/topics/code.md>), [obfuscation](<https://devfeed.tech/topics/obfuscation.md>), [software-development](<https://devfeed.tech/topics/software-development.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [proguard](<https://devfeed.tech/tags/proguard.md>), [proguard-android-r8-smali-dalvik-jvm-kotlin-art-gradle-java](<https://devfeed.tech/tags/proguard-android-r8-smali-dalvik-jvm-kotlin-art-gradle-java.md>), [r8](<https://devfeed.tech/tags/r8.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

A tutorial explaining the Android build pipeline and where ProGuard and R8 fit into it. It introduces compilation stages, optimization, shrinking, and code obfuscation, with an emphasis on understanding and diagnosing how these tools transform source code into bytecode.

### Source excerpt

Tools such as R8 and ProGuard are available for free, but to many they are a black box that code goes into and stuff comes out. My goal is to demystify the black box and teach developers how to properly diagnose the code going into and coming out of these build tools. It will also explain why you should care and why applying these tools should be a priority before shipping any code into the wild.

## Becoming an Android Developer: What This Blog Covers

DevFeed: [Becoming an Android Developer: What This Blog Covers](<https://devfeed.tech/articles/you-are-now-a-developer-32345.md>)

Original publisher: [Read original article](<https://dustn.dev/post/2019-11-01-your-now-a-developer/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2019-11-01T20:33:38Z

Content type: opinion

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [general-intro](<https://devfeed.tech/tags/general-intro.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [learning](<https://devfeed.tech/tags/learning.md>)

### AI overview

An introductory blog post about becoming a developer through consistency, practice, learning, and perseverance. The author outlines plans to write about Android development, Kotlin, Android internals and security, Flutter, Android Things, and the ongoing learning process.

### Source excerpt

Anyone who is an Android Developer has been welcomed with that beautiful message after sacrificing there device over to the development gods. But becoming a developer is not as easy as hitting a Build Number 7 times and calling it a day (if only). It takes consistency, practice, a willingness to learn, and perseverance to continue to work through problems that you run into (aka struggle). One place I consistently turn to for guidance when I am working through a problem are blog posts.