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
More than Nexus, Better than Nexus
Search
Realm
November 16, 2015
Technology
0
4.7k
More than Nexus, Better than Nexus
More than Nexus, Better than Nexus.
GDG Android Korea
Yongho Cha
Realm
November 16, 2015
Tweet
Share
More Decks by Realm
See All by Realm
WWDC 2017 Review
realm
0
2.1k
Xcode shortcuts
realm
0
4.7k
Self Branding with GitHub
realm
0
4.3k
Realm Mobile Platform overview and demo
realm
0
2.1k
Realm advanced topics and demo
realm
0
2k
Realm introduction Seoul meetup 10
realm
0
2.1k
Stuart Hall: How I got 2.3 Million App Downloads
realm
0
1.9k
James Majors: What the Swiftly Func?
realm
1
4.3k
Simina Pasat: Continuous everything for iOS apps
realm
0
630
Other Decks in Technology
See All in Technology
エンタメとAIのための3Dパラレルワールド構築(GPU UNITE 2025 特別講演)
pfn
PRO
0
330
今この時代に技術とどう向き合うべきか
gree_tech
PRO
1
1.6k
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
300
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
10
4.7k
ソースを読むプロセスの例
sat
PRO
7
2.4k
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
570
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
280
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
80k
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
160
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
3
240
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
3
220
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Navigating Team Friction
lara
190
15k
Facilitating Awesome Meetings
lara
56
6.6k
The Cost Of JavaScript in 2023
addyosmani
55
9k
KATA
mclloyd
32
15k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
We Have a Design System, Now What?
morganepeng
53
7.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
BBQ
matthewcrist
89
9.8k
A Tale of Four Properties
chriscoyier
161
23k
Transcript
AOSP로 넥서스 보다 더 넥서스처럼 만들기 More than Nexus, Better
than Nexus.
Nexus 4 (2012) • Android 4.2 (2012) • Android 4.3
• Android 4.4 (2013) • Android 5.0 (2014) • Android 5.1 • Android 6.0 (2015) Image Source
Android M on Nexus 4!!!
그런데 빌드를 끝내고 나면....
(C) 이말년 Image Source
Agenda • What is Android Open Source Project? • Following
Nexus • More than Nexus, Better than Nexus
What is Android Open Source Project?
Hosted on AOSP
How to build Android Source code Downloading and Building
Nexus Series 제조사 제품 이름 hardware product Huawei Nexus 6P
angler? ? LG Nexus 5X bullhead bullhead Motorola Nexus 6 shamu shamu LG Nexus 5 hammerhead hammerhead ASUS Nexus 7(2013) flo, deb flo, deb LG Nexus 4 mako mako Samsung Galaxy Nexus tuna maguro,toro Samsung Nexus S herring crespo
Android Emulator Goldfish ランチュウ(蘭鋳、蘭虫、卵虫)Ranchu Image Source Image Source
Nexus Series 제조사 제품 이름 hardware product Nexus branded product
Huawei Nexus 6P angler? ? ? LG Nexus 5X bullhead bullhead bullhead Motorola Nexus 6 shamu shamu shamu LG Nexus 5 hammerhead hammerhead hammerhead ASUS Nexus 7(2013) flo, deb flo, deb razor, razorg LG Nexus 4 mako mako occam Samsung Galaxy Nexus tuna maguro,toro yakju,takju,mysid Samsung Nexus S herring crespo soju
mako occam
무엇부터 시작해 야 하나? Following Nexus Be copycat
Image Source mako occam
system/app: BackupTestApp Development HTMLViewer PicoTts BasicDreams DevelopmentSettings KeyChain PrintSpooler Browser
DocumentsUI LatinIME Protips Calculator DownloadProviderUi LegacyCamera QuickSearchBox Calendar Email LiveWallpapersPicker SdkSetup CaptivePortalLogin EmulatorSmokeTests Music SoundRecorder CertInstaller Exchange2 NetSpeed UserDictionaryProvider CustomLocale Fallback OpenWnn webview DeskClock Gallery PacProcessor system/app: BasicDreams DMAgent GoogleContactsSyncAdapter Maps Bluetooth DocumentsUI GoogleEars MediaShortcuts BluetoothMidiService DownloadProviderUi GoogleHindiIME Music2 Books Drive GoogleHome NewsstandStub CalculatorGoogle EditorsDocsStub GooglePinyinIME 중간 생략 CalendarGooglePrebuilt EditorsSheetsStub GoogleTTS Videos CaptivePortalLogin EditorsSlidesStub Hangouts Wallet CertInstaller FaceLock KeyChain WebViewGoogle Chrome FitnessPrebuilt KoreanIME YouTube CloudPrint2 GoogleCamera LatinImeGoogle talkback
앱 대응 테이블 Emulator (AOSP) Nexus 5 Browser Chrome Calculator
CalculatorGoogle Dialer GoogleDialer LegacyCamera GoogleCamera Music Music2 Launcher3 GoogleHome webview WebViewGoogle
Android의 숨겨진 심장
GAPPS Collection of Google Mobile Services and Apps Search Gapps
on Google
패키지만 설치하면 끝? Image Source
각종 상수 및 기본 설정값 • /root/default.prop • /system/build.prop •
/system/framework/framework-res.apk • /system/priv-app/SettingsProvider.apk • /system/priv-app/Settings.apk • /system/priv-app/SystemUI.apk • /system/priv-app/TeleService.apk
aapt • Android Asset Packaging Tool • 다음 명령어로 .apk
파일에 포함된 리소스 분석 가능 $ aapt d --values resources framework-res.apk spec resource 0x01040029 android:string/default_sms_application: flags=0x00000000 resource 0x01040029 android:string/default_sms_application: t=0x03 d=0x00001e00 (s=0x0008 r=0x00) (string8) "com.android.mms"
수정 전략 • 안드로이드 기본 빌드 스크립트를 이용해 factory image
생성 • 유지 보수가 가능 ◦ bug fix 또는 major 업그레이드가 되었을 때 따라가기 편해야 한다. • 결론 ◦ 원래 코드는 되도록이면 건드리지 말자 ◦ 수정하고 싶으면 원래 코드 바깥에서 건드리자
되는데요... Image Source
상수 교체 (system property) PRODUCT_PROPERTY_OVERRIDES := \ ro.com.android.dataroaming=false \
Resource 교체 기본 리소스: frameworks/base/core/res/res/values/config.xml /drawable-mdpi/ic-search.png 특정 기기용 리소스: device/lge/occam/overlay/frameworks/base/core/res/res/
Resource 교체 PRODUCT_PACKAGE_OVERLAYS := \ device/lge/occam/overlay out-occam-user/host/linux-x86/bin/aapt package blahblah -S
device/lge/occam/overlay/frameworks/base/core/res/res -S device/lge/mako/overlay/frameworks/base/core/res/res -S frameworks/base/core/res/res
앱 교체 include $(CLEAR_VARS) LOCAL_MODULE := Chrome LOCAL_SRC_FILES := com.android.chrome.apk
LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_TAGS := optional LOCAL_OVERRIDES_PACKAGES := Browser LOCAL_CERTIFICATE := PRESIGNED LOCAL_MODULE_OWNER := google include $(BUILD_PREBUILT)
앱 교체 PRODUCT_PACKAGES := \ Chrome \
빌드 시작
빌드 끝
None
More than Nexus, Better than Nexus.
Unlock hidden feature.
Improve performance
Add new feature
None
None
Conclusion • You can build your own Real Nexus image
without modification source codes on AOSP. • You can unlock or add several features, and improve your experiences
References • http://s.android.com/ • How to build Android Marshmallow on
Nexus 4 • https://github.com/ganadist/device_lge_mako • https://github.com/ganadist/device_lge_occam • https://github.com/ganadist/gms_addon/tree/android-6.0.0_r1