Submit Search
Upload
Add ClassyShark to your Android toolbox
•
5 likes
•
3,757 views
Boris Farber
Follow
www.classyshark.com, a handdy Android and Java executables browser
Read less
Read more
Software
Report
Share
Report
Share
1 of 40
Download now
Download to read offline
Recommended
Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.org
Sauce Labs
Continuous delivery
Continuous delivery
Alexandru Bolboaca
A Sampling of Tools
A Sampling of Tools
Dawn Code
How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.
Matt Eland
Pushing The Boundaries Of Continuous Integration
Pushing The Boundaries Of Continuous Integration
Robbie Clutton
Scaling Plugins in Critical Systems - Jon Mort
Scaling Plugins in Critical Systems - Jon Mort
Atlassian
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
Roy Derks
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave Haeffner
Sauce Labs
Recommended
Continuous Testing Meets the Classroom at Code.org
Continuous Testing Meets the Classroom at Code.org
Sauce Labs
Continuous delivery
Continuous delivery
Alexandru Bolboaca
A Sampling of Tools
A Sampling of Tools
Dawn Code
How do you tame a big ball of mud? One test at a time.
How do you tame a big ball of mud? One test at a time.
Matt Eland
Pushing The Boundaries Of Continuous Integration
Pushing The Boundaries Of Continuous Integration
Robbie Clutton
Scaling Plugins in Critical Systems - Jon Mort
Scaling Plugins in Critical Systems - Jon Mort
Atlassian
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
Roy Derks
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave Haeffner
Sauce Labs
Shift left-csun-sagar-barbhaya
Shift left-csun-sagar-barbhaya
SAGAR BARBHAYA
Getting Started with Selenium
Getting Started with Selenium
Dave Haeffner
ATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot Framework
Agile Testing Alliance
Scaleable project structure angular js
Scaleable project structure angular js
Michael Calkins
Accessibility Testing Tools for Developers - Seattle Code Camp
Accessibility Testing Tools for Developers - Seattle Code Camp
gerardkcohen
Defect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life Cycle
pavansmiles
Selenium Frameworks
Selenium Frameworks
Dave Haeffner
ATAGTR2017 Detect Layout Bugs by Simulating Human Eye
ATAGTR2017 Detect Layout Bugs by Simulating Human Eye
Agile Testing Alliance
Debugging tools in web browsers
Debugging tools in web browsers
Sarah Dutkiewicz
Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011
pointstechgeeks
Defect Life Cycle
Defect Life Cycle
Shilpi Mitra
How to implement ruby on rails testing practices to build a successful web ap...
How to implement ruby on rails testing practices to build a successful web ap...
Katy Slemon
Code Review: How and When
Code Review: How and When
Paul Gower
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
Anna Royzman
Automated tests to a REST API
Automated tests to a REST API
Luís Barros Nóbrega
How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?
Sergey Korol
Contextual communications and why you should care - Droidcon DE
Contextual communications and why you should care - Droidcon DE
Marcos Placona
Tomasz Polanski - Automated mobile testing 2016 - Testing: why, when, how
Tomasz Polanski - Automated mobile testing 2016 - Testing: why, when, how
Tomasz Polanski
Unit testing without Robolectric, Droidcon Berlin 2016
Unit testing without Robolectric, Droidcon Berlin 2016
Danny Preussler
Little Helpers for Android Development with Kotlin
Little Helpers for Android Development with Kotlin
Kai Koenig
A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...
Alessandro Martellucci
Evolving the Android Core with Aspects
Evolving the Android Core with Aspects
Carlo Pescio
More Related Content
What's hot
Shift left-csun-sagar-barbhaya
Shift left-csun-sagar-barbhaya
SAGAR BARBHAYA
Getting Started with Selenium
Getting Started with Selenium
Dave Haeffner
ATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot Framework
Agile Testing Alliance
Scaleable project structure angular js
Scaleable project structure angular js
Michael Calkins
Accessibility Testing Tools for Developers - Seattle Code Camp
Accessibility Testing Tools for Developers - Seattle Code Camp
gerardkcohen
Defect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life Cycle
pavansmiles
Selenium Frameworks
Selenium Frameworks
Dave Haeffner
ATAGTR2017 Detect Layout Bugs by Simulating Human Eye
ATAGTR2017 Detect Layout Bugs by Simulating Human Eye
Agile Testing Alliance
Debugging tools in web browsers
Debugging tools in web browsers
Sarah Dutkiewicz
Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011
pointstechgeeks
Defect Life Cycle
Defect Life Cycle
Shilpi Mitra
How to implement ruby on rails testing practices to build a successful web ap...
How to implement ruby on rails testing practices to build a successful web ap...
Katy Slemon
Code Review: How and When
Code Review: How and When
Paul Gower
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
Anna Royzman
Automated tests to a REST API
Automated tests to a REST API
Luís Barros Nóbrega
How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?
Sergey Korol
What's hot
(16)
Shift left-csun-sagar-barbhaya
Shift left-csun-sagar-barbhaya
Getting Started with Selenium
Getting Started with Selenium
ATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot Framework
Scaleable project structure angular js
Scaleable project structure angular js
Accessibility Testing Tools for Developers - Seattle Code Camp
Accessibility Testing Tools for Developers - Seattle Code Camp
Defect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life Cycle
Selenium Frameworks
Selenium Frameworks
ATAGTR2017 Detect Layout Bugs by Simulating Human Eye
ATAGTR2017 Detect Layout Bugs by Simulating Human Eye
Debugging tools in web browsers
Debugging tools in web browsers
Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011
Defect Life Cycle
Defect Life Cycle
How to implement ruby on rails testing practices to build a successful web ap...
How to implement ruby on rails testing practices to build a successful web ap...
Code Review: How and When
Code Review: How and When
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
Automated tests to a REST API
Automated tests to a REST API
How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?
Viewers also liked
Contextual communications and why you should care - Droidcon DE
Contextual communications and why you should care - Droidcon DE
Marcos Placona
Tomasz Polanski - Automated mobile testing 2016 - Testing: why, when, how
Tomasz Polanski - Automated mobile testing 2016 - Testing: why, when, how
Tomasz Polanski
Unit testing without Robolectric, Droidcon Berlin 2016
Unit testing without Robolectric, Droidcon Berlin 2016
Danny Preussler
Little Helpers for Android Development with Kotlin
Little Helpers for Android Development with Kotlin
Kai Koenig
A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...
Alessandro Martellucci
Evolving the Android Core with Aspects
Evolving the Android Core with Aspects
Carlo Pescio
Crafting Great Hypotheses - Droidcon 2016
Crafting Great Hypotheses - Droidcon 2016
Hoang Huynh
World-Class Testing Development Pipeline for Android
World-Class Testing Development Pipeline for Android
Pedro Vicente Gómez Sánchez
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Xavier Hallade
ClassyShark slides
ClassyShark slides
Boris Farber
Engage and retain users in the android world - Droidcon Italy 2016
Engage and retain users in the android world - Droidcon Italy 2016
Matteo Bonifazi
Mastering java bytecode with ASM - GeeCON 2012
Mastering java bytecode with ASM - GeeCON 2012
Anton Arhipov
Internal Android Library Management (DroidCon SF 2016, Droidcon Italy 2016)
Internal Android Library Management (DroidCon SF 2016, Droidcon Italy 2016)
Kelly Shuster
10 ways to improve your Android app performance
10 ways to improve your Android app performance
Boris Farber
A friend in need - A JS indeed
A friend in need - A JS indeed
Yonatan Levin
프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기
Jongwook Choi
Data Binding in Action using MVVM pattern
Data Binding in Action using MVVM pattern
Fabio Collini
MVVM and RxJava – the perfect mix
MVVM and RxJava – the perfect mix
Florina Muntenescu
2016 FunctionCup 풀이
2016 FunctionCup 풀이
geunwoo bae
Building maintainable app
Building maintainable app
Kristijan Jurković
Viewers also liked
(20)
Contextual communications and why you should care - Droidcon DE
Contextual communications and why you should care - Droidcon DE
Tomasz Polanski - Automated mobile testing 2016 - Testing: why, when, how
Tomasz Polanski - Automated mobile testing 2016 - Testing: why, when, how
Unit testing without Robolectric, Droidcon Berlin 2016
Unit testing without Robolectric, Droidcon Berlin 2016
Little Helpers for Android Development with Kotlin
Little Helpers for Android Development with Kotlin
A realtime infrastructure for Android apps: Firebase may be what you need..an...
A realtime infrastructure for Android apps: Firebase may be what you need..an...
Evolving the Android Core with Aspects
Evolving the Android Core with Aspects
Crafting Great Hypotheses - Droidcon 2016
Crafting Great Hypotheses - Droidcon 2016
World-Class Testing Development Pipeline for Android
World-Class Testing Development Pipeline for Android
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
Mastering the NDK with Android Studio 2.0 and the gradle-experimental plugin
ClassyShark slides
ClassyShark slides
Engage and retain users in the android world - Droidcon Italy 2016
Engage and retain users in the android world - Droidcon Italy 2016
Mastering java bytecode with ASM - GeeCON 2012
Mastering java bytecode with ASM - GeeCON 2012
Internal Android Library Management (DroidCon SF 2016, Droidcon Italy 2016)
Internal Android Library Management (DroidCon SF 2016, Droidcon Italy 2016)
10 ways to improve your Android app performance
10 ways to improve your Android app performance
A friend in need - A JS indeed
A friend in need - A JS indeed
프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기
Data Binding in Action using MVVM pattern
Data Binding in Action using MVVM pattern
MVVM and RxJava – the perfect mix
MVVM and RxJava – the perfect mix
2016 FunctionCup 풀이
2016 FunctionCup 풀이
Building maintainable app
Building maintainable app
Similar to Add ClassyShark to your Android toolbox
The terminology of methodology
The terminology of methodology
TheBigStartupExperiment | Gumption Project Management | The Good Enabler
Untangling6
Untangling6
Derek Jacoby
How to Create a Custom WordPress Plugin
How to Create a Custom WordPress Plugin
Andolasoft Inc
Refactoring
Refactoring
Xavier Fornés Arrabal
To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016
To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016
Codemotion
Code Review Looking for a vulnerable code. Vlad Savitsky.
Code Review Looking for a vulnerable code. Vlad Savitsky.
DrupalCampDN
Css tools and methodologies
Css tools and methodologies
Isatu Conteh
R&D on PVS-Studio
R&D on PVS-Studio
PVS-Studio
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Chase Douglas
Contributing to drupal
Contributing to drupal
marcingy
Building API's
Building API's
arcaneadam
AppSec DC 2009 - Learning by breaking by Chuck Willis
AppSec DC 2009 - Learning by breaking by Chuck Willis
Magno Logan
UXDX London 2018 Nik Crabtree - Enhancing the Processes of Test Driven Develo...
UXDX London 2018 Nik Crabtree - Enhancing the Processes of Test Driven Develo...
UXDXConf
JavaScript Unit Testing
JavaScript Unit Testing
L&T Technology Services Limited
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3
Siddhesh Bhobe
Learning Web Development with Ruby on Rails Launch
Learning Web Development with Ruby on Rails Launch
Thiam Hock Ng
Engaging the Xen Developer Comminity
Engaging the Xen Developer Comminity
The Linux Foundation
Behavior Driven Development
Behavior Driven Development
Dhawal Joshi
Journey's diary developing a framework using tdd
Journey's diary developing a framework using tdd
eduardomg23
Refactor to the Limit!
Refactor to the Limit!
Jim Bethancourt
Similar to Add ClassyShark to your Android toolbox
(20)
The terminology of methodology
The terminology of methodology
Untangling6
Untangling6
How to Create a Custom WordPress Plugin
How to Create a Custom WordPress Plugin
Refactoring
Refactoring
To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016
To ∞ (~65K) and beyond! - Sebastiano Gottardo - Codemotion Milan 2016
Code Review Looking for a vulnerable code. Vlad Savitsky.
Code Review Looking for a vulnerable code. Vlad Savitsky.
Css tools and methodologies
Css tools and methodologies
R&D on PVS-Studio
R&D on PVS-Studio
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Contributing to drupal
Contributing to drupal
Building API's
Building API's
AppSec DC 2009 - Learning by breaking by Chuck Willis
AppSec DC 2009 - Learning by breaking by Chuck Willis
UXDX London 2018 Nik Crabtree - Enhancing the Processes of Test Driven Develo...
UXDX London 2018 Nik Crabtree - Enhancing the Processes of Test Driven Develo...
JavaScript Unit Testing
JavaScript Unit Testing
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3
Learning Web Development with Ruby on Rails Launch
Learning Web Development with Ruby on Rails Launch
Engaging the Xen Developer Comminity
Engaging the Xen Developer Comminity
Behavior Driven Development
Behavior Driven Development
Journey's diary developing a framework using tdd
Journey's diary developing a framework using tdd
Refactor to the Limit!
Refactor to the Limit!
Recently uploaded
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
VICTOR MAESTRE RAMIREZ
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
OnePlan Solutions
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Natan Silnitsky
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
Łukasz Chruściel
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
Velvetech LLC
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Ahmed Mohamed
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
BrainSell Technologies
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
Marharyta Nedzelska
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Mater
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
preethippts
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
Diego Iván Oliveros Acosta
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio, Inc.
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
Tier1 app
MYjobs Presentation Django-based project
MYjobs Presentation Django-based project
AnoyGreter
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
OnePlan Solutions
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
Alina Yurenko
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Cizo Technology Services
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Wave PLM
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Dinusha Kumarasiri
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
confluent
Recently uploaded
(20)
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
MYjobs Presentation Django-based project
MYjobs Presentation Django-based project
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Add ClassyShark to your Android toolbox
1.
Add ClassyShark to your
toolbox Boris Farber ClassyShark Product Lead Google
2.
IF YOU HAVE
A SMALL APP FORGET THESE SLIDES
3.
What are the
main problems during the app run ?
4.
Long launch time
5.
APK crashes in
release but not in debug
6.
Unresponsive app
7.
Large APK (especially
classes.dex entries)
8.
Why my app
doesn’t fit to one classes.dex
9.
Crashes on certain
architectures
10.
What is common
is these problems?
11.
What is common
is these problems? Hard to identify easy to solve On the APK and not sources level
12.
What tools do
we have?
13.
ClassyShark Android and Java
executables browser
14.
If your app
is misbehaving in runtime ClassyShark might help you
15.
To explore your
APK for class/method signatures To get a lot of useful data about your APK
16.
ClassyShark howto
17.
Let’s take a
look
18.
Open an apk
19.
Browse components
20.
Look at methods
chart
21.
Incremental search
22.
APK diagnosis with
ClassyShark
23.
1. Obfuscation
24.
2. Slow/multiple/test dependencies
25.
3. dex values
26.
ClassyShark sees the
same method count as your runtime does!
27.
4. Supported architectures
28.
5. Native dependencies
29.
6. No private
link
30.
7. JNI calls
in secondary dexes
31.
8. Manifest and
resources
32.
9. APK Dashboard
33.
ClassyShark more stuff
34.
User Guide - https://github.com/borisf/classyshark-user-guide
35.
Powerful command-line (https://goo.gl/jmW55o)
36.
APIs Gradle plugin
37.
● APK ● Dex ●
Class ● Jar ● AAR ● Android binary XMLs
38.
You see what
ClassyShark can do ... What would you like ClassyShark to do?
39.
www.classyshark.com
40.
Thank You Boris Farber @borisfarber
Download now