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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Brijesh Masrani
July 02, 2017
Technology
0
140
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
180
Putting Your APKs on Diet
brijeshmasrani
0
60
What's new in Android N
brijeshmasrani
1
220
Other Decks in Technology
See All in Technology
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
170
フロントエンド刷新 4年間の軌跡
yotahada3
0
500
実践 Datadog MCP Server
nulabinc
PRO
2
240
社内レビューは機能しているのか
matsuba
0
150
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
110
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
2
560
Claude Code Skills 勉強会 (DevelersIO向けに調整済み) / claude code skills for devio
masahirokawahara
1
22k
システム標準化PMOから ガバメントクラウドCoEへ
techniczna
1
140
Zeal of the Convert: Taming Shai-Hulud with AI
ramimac
0
150
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy0124
1
700
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
240
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Done Done
chrislema
186
16k
Rails Girls Zürich Keynote
gr2m
96
14k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
220
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
390
How to build a perfect <img>
jonoalderson
1
5.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Typedesign – Prime Four
hannesfritz
42
3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
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