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
2k
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.2k
Simina Pasat: Continuous everything for iOS apps
realm
0
600
Other Decks in Technology
See All in Technology
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
Lambdaと地方とコミュニティ
miu_crescent
2
370
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
170
AGIについてChatGPTに聞いてみた
blueb
0
130
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.9k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Documentation Writing (for coders)
carmenintech
65
4.4k
Side Projects
sachag
452
42k
Why Our Code Smells
bkeepers
PRO
334
57k
Practical Orchestrator
shlominoach
186
10k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
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