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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Brijesh Masrani
July 02, 2017
Technology
150
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
200
Putting Your APKs on Diet
brijeshmasrani
0
63
What's new in Android N
brijeshmasrani
1
220
Other Decks in Technology
See All in Technology
Claude Code並行開発環境の ムダ‧ムラ‧ムリを見直した話
muranakaaa
0
340
自己解決や回答速度を上げる、サポート業務へのAIの組み込み方【SORACOM Discovery 2026】
soracom
PRO
0
110
PLaMo 3.0 Primeの構造化出力サポート
pfn
PRO
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.8k
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
6
2.6k
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
710
GMOフィナンシャルゲートが挑む、「止まらない」決済インフラ構築の裏側【SORACOM Discovery 2026】
soracom
PRO
0
110
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
170
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
190
AIエージェントの知識表現と推論に なぜグラフが使われるのか - 記号的AIの復権とニューラルAIとの統合
yohei1126
1
220
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
31
26k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Rails Girls Zürich Keynote
gr2m
96
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Accessibility Awareness
sabderemane
1
170
Tell your own story through comics
letsgokoyo
1
1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
640
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Balancing Empowerment & Direction
lara
6
1.2k
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