Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Androidを自由にカスタマイズしたい~!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Haruto K.
October 10, 2024
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Androidを自由にカスタマイズしたい~!
Haruto K.
October 10, 2024
More Decks by Haruto K.
See All by Haruto K.
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
470
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Facilitating Awesome Meetings
lara
57
7.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
Making Projects Easy
brettharned
120
6.8k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
Practical Orchestrator
shlominoach
192
12k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
710
Building an army of robots
kneath
307
46k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Transcript
Androidを自由にカスタマイズしたい~! date: 10/11/2024 event: shibuya.apk#49
自己紹介 名前: SNS: 趣味: 資格: Kato Haruto(23) @aoi-sec チェス /
アプリ開発 / 読書 / 食べること Google Cloud Digital Leader Google Cloud Associate Cloud Engineer Google Cloud Professional Security Engineer その他(FE, AP, SC)
突然ですが...
AnroidOpenSourceProjectのこと。 Android自体はOSSでありインターネットに一般公開されている。 つまり、自分で色々カスタマイズすることが可能。 公式ドキュメント:https://source.android.com/docs AOSPってなーに?
複合的な構造からなる。 各種コード全て公開済み AOSPってなーに? 改造できるじゃん!!
ざっくりな手順は? Androidコード取得 コードを変更 イメージビルド 端末へ書き込み
今回はやることは...
設定アプリから確認できる、 Android versionを任意の値に変更したい 今回やることは...
そのまえに ビルドに必要なスペックを...
公式ドキュメントみると...、 そのまえに...
None
スペックは下記 o マシンタイプ:t2d-standard-48 o メモリ:192GB o ディスク:バランス永続ディスク500GB Compute Engine(Google Cloud)使うか~
コード修正
全然分からん。何が何を示しているのか...。 日本語文献は少数なので海外文献や自分で触ったりした結果... コード修正 取得したAOSPコードのトップ階層にてlsしてみたけど...
コード修正 developers 開発者向けサンプルとかが置かれている hardware HAL(ハードウェア抽象化レイヤー) ... packages プリインストールアプリや初期壁紙など初期設 定に関するものありそう!! 各フォルダの特徴が何個か分かってきた!
コード修正 packages/apps内に「Settings」というフォルダがある。 こいつは怪しい!
コード修正 ソースコードを愚直にみても深すぎてしんどい。 ネット上で公式が便利なサイトを提供してくれている。 Android Code Search : https://cs.android.com/android 詳細条件指定してコード検索が出来るので探索効率UP!!
コード修正 試しにSettings下にて"Android version"で検索するとヒット。 strings.xmlに書かれてることに加えて言語毎で分かれてる
コード修正 firmware_versionで検索す ると、my_device_info.xml が出現 バッテリーやIPがあることから本体情報のレイアウトで確定?
コード修正 使用しているコントローラー及びフラグメントを見てみる。 ・FirmwareVersionPreferenceController(コントローラー) ・FirmwareVersionSettings(フラグメント) Build.hoge系は一般開発でも参照するし、 Build.VERSIONとあるので更に怪しい
コード修正 ... いた!!(build/core/version_defaults.mk)
イメージビルド
イメージビルド ビルドしてイメージ作成。 → Qiitaに記事投稿済みです!
端末へ書き込み
端末へ書き込み イメージが出来上がった! Compute Engine上からイメージを取り出すため、 "gcloud compute scp"コマンドを実行してホストマシンへダウンロード
端末へ書き込み 実端末を用意出来なかったので、AVDにインストール! AppData/Local/Android/Sdk/system-images参照。 このなかにAndroid Studioにて使用しているAVDがある。
端末へ書き込み 例)android-33の場合 android-33/google_apis/x86_64 x86_64フォルダを取得したフォルダのものに置換 AVD起動してみる!!
端末へ書き込み きた!!!!
最後に AOSPは下記の観点から難易度は高め。 ・資料が少ない ・ソースコードが非常に複雑で追うのが困難 ・ビルド要求を満たすマシンの用意が大変 ・環境構築の過程でビルドエラー発生すると難航確定 ただ...
最後に オリジナリティ高いOS作れるしやりがい最高 ・ブートアニメーション変更 ・アプリのレイアウト変更 ・その他root化しないと出来ないようなことが色々
ご清聴ありがとうございました!