Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Controlling APK Size When Using Native Library
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Brijesh Masrani
July 02, 2017
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Controlling APK Size When Using Native Library
Brijesh Masrani
July 02, 2017
More Decks by Brijesh Masrani
See All by Brijesh Masrani
Let's Stream that Video - an ExoPlayer Starters Guide
brijeshmasrani
0
210
Putting Your APKs on Diet
brijeshmasrani
0
66
What's new in Android N
brijeshmasrani
1
220
Other Decks in Technology
See All in Technology
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
0
630
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
380
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
130
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
180
AIコーディングはじめました
miso
0
160
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
450
Sinatra on PicoRuby ローカルでセルフホスト
bash0c7
0
110
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
230
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
130
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
1
120
Metadata - Section 3 : Dublin Core Standard · DC
mohab1
0
110
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
130
Featured
See All Featured
A better future with KSS
kneath
240
18k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
680
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Embracing the Ebb and Flow
colly
88
5.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Thoughts on Productivity
jonyablonski
76
5.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
550
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Building an army of robots
kneath
307
47k
Done Done
chrislema
187
17k
Rails Girls Zürich Keynote
gr2m
96
14k
Transcript
Controlling APK Size When Using Native Library
I am Brijesh Masrani @
Outline • What are the major components in APK? •
APK Splitting • What is ABI and how it works? • Understanding ABI in detail • Problems with ABI split • Solving Issues with abiFilters
What are the major components in APK? • Class files
• Resources • Manifest file • Native libraries
APK Splitting Density and Application Binary Interface (ABI)
Application Binary Interface • The ABI defines, with great precision,
how an application’s machine code is supposed to interact with the system at runtime. • You must specify an ABI for each CPU architecture you want your app to work with. • mips, mips64, X86, X86–64, arm64-v8a, armeabi, armeabi-v7a
Analysis of the APK file
APK details after adding Realm
None
Realm distribution for different CPU architecture
Realm adds .so file for 5 CPU architectures mips, X86,
X86–64, armeabi-v7a, and arm64-v8a this increases the apk size by 4.8 MB; remaining ~130KB is increased in dex size.
ABI split
None
Multiple APK files generated after enabling split
None
Amazing right! We went from 74KB to 5MB and came
back to 1.3 MB. But But But….
NDK abiFilters
APK with “armeabi-v7a” and “x86” libs
TL;DR — Detail about CPU Architecture
Google Maps with ABI filters
None
Thank You You can find me at @brijeshmasrani