40
Add ClassyShark to your toolbox Boris Farber ClassyShark Product Lead Google

Add ClassyShark to your Android toolbox

Embed Size (px)

Citation preview

Page 1: Add ClassyShark to your Android toolbox

Add ClassyShark to your toolbox

Boris FarberClassyShark Product Lead

Google

Page 2: Add ClassyShark to your Android toolbox

IF YOU HAVE A SMALL APP FORGET THESE SLIDES

Page 3: Add ClassyShark to your Android toolbox

What are the main problems during the app run ?

Page 4: Add ClassyShark to your Android toolbox

Long launch time

Page 5: Add ClassyShark to your Android toolbox

APK crashes in release but not in debug

Page 6: Add ClassyShark to your Android toolbox

Unresponsive app

Page 7: Add ClassyShark to your Android toolbox

Large APK (especially classes.dex entries)

Page 8: Add ClassyShark to your Android toolbox

Why my app doesn’t fit to one classes.dex

Page 9: Add ClassyShark to your Android toolbox

Crashes on certain architectures

Page 10: Add ClassyShark to your Android toolbox

What is common is these problems?

Page 11: Add ClassyShark to your Android toolbox

What is common is these problems?

Hard to identify easy to solve

On the APK and not sources level

Page 12: Add ClassyShark to your Android toolbox

What tools do we have?

Page 13: Add ClassyShark to your Android toolbox

ClassyShark

Android and Java executables browser

Page 14: Add ClassyShark to your Android toolbox

If your app is misbehaving in runtime ClassyShark might help you

Page 15: Add ClassyShark to your Android toolbox

To explore your APK for class/method signatures

To get a lot of useful data about your APK

Page 16: Add ClassyShark to your Android toolbox

ClassyShark howto

Page 17: Add ClassyShark to your Android toolbox

Let’s take a look

Page 18: Add ClassyShark to your Android toolbox

Open an apk

Page 19: Add ClassyShark to your Android toolbox

Browse components

Page 20: Add ClassyShark to your Android toolbox

Look at methods chart

Page 21: Add ClassyShark to your Android toolbox

Incremental search

Page 22: Add ClassyShark to your Android toolbox

APK diagnosis with ClassyShark

Page 23: Add ClassyShark to your Android toolbox

1. Obfuscation

Page 24: Add ClassyShark to your Android toolbox

2. Slow/multiple/test dependencies

Page 25: Add ClassyShark to your Android toolbox

3. dex values

Page 26: Add ClassyShark to your Android toolbox

ClassyShark sees the same method count as your runtime does!

Page 27: Add ClassyShark to your Android toolbox

4. Supported architectures

Page 28: Add ClassyShark to your Android toolbox

5. Native dependencies

Page 29: Add ClassyShark to your Android toolbox

6. No private link

Page 30: Add ClassyShark to your Android toolbox

7. JNI calls in secondary dexes

Page 31: Add ClassyShark to your Android toolbox

8. Manifest and resources

Page 32: Add ClassyShark to your Android toolbox

9. APK Dashboard

Page 33: Add ClassyShark to your Android toolbox

ClassyShark more stuff

Page 34: Add ClassyShark to your Android toolbox

User Guide - https://github.com/borisf/classyshark-user-guide

Page 35: Add ClassyShark to your Android toolbox

Powerful command-line

(https://goo.gl/jmW55o)

Page 36: Add ClassyShark to your Android toolbox

APIs

Gradle plugin

Page 37: Add ClassyShark to your Android toolbox

● APK● Dex● Class● Jar● AAR● Android binary XMLs

Page 38: Add ClassyShark to your Android toolbox

You see what ClassyShark can do ...

What would you like ClassyShark to do?

Page 39: Add ClassyShark to your Android toolbox

www.classyshark.com

Page 40: Add ClassyShark to your Android toolbox

Thank You

Boris Farber

@borisfarber