Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Controlling APK Size When Using Native Library
Search
Brijesh Masrani
July 02, 2017
Technology
0
110
Controlling APK Size When Using Native Library
Brijesh Masrani
July 02, 2017
Tweet
Share
More Decks by Brijesh Masrani
See All by Brijesh Masrani
Let's Stream that Video - an ExoPlayer Starters Guide
brijeshmasrani
0
150
Putting Your APKs on Diet
brijeshmasrani
0
57
What's new in Android N
brijeshmasrani
1
220
Other Decks in Technology
See All in Technology
あなたはJVMの気持ちを理解できるか?
skrb
5
2k
プロダクト価値を引き上げる、「課題の再定義」という習慣
moeka__c
0
210
extensionとschema
yahonda
1
100
Site Reliability Engineering on Kubernetes
nwiizo
6
4.4k
Creative Pair
kawaguti
PRO
1
130
レイクハウスとはなんだったのか?
akuwano
15
2k
Women in Agile
kawaguti
PRO
2
170
ハンズオンで学ぶ Databricks - Databricksにおけるデータエンジニアリング
taka_aki
1
2.1k
業務ツールをAIエージェントとつなぐ - Composio
knishioka
0
110
“自分”を大切に、フラットに。キャリアチェンジしてからの一年 三ヶ月で見えたもの。
maimyyym
0
300
re:Invent Recap (January 2025)
scalefactory
0
340
[JAWS-UG栃木]地方だからできたクラウドネイティブ事例大公開! / jawsug_tochigi_tachibana
biatunky
0
130
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
6
220
Gamification - CAS2011
davidbonilla
80
5.1k
Building Adaptive Systems
keathley
39
2.4k
GitHub's CSS Performance
jonrohan
1030
460k
Visualization
eitanlees
146
15k
How to train your dragon (web standard)
notwaldorf
89
5.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
380
How to Ace a Technical Interview
jacobian
276
23k
Designing Experiences People Love
moore
139
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Producing Creativity
orderedlist
PRO
343
39k
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