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
Androidを自由にカスタマイズしたい~!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
HalunoYo.
October 10, 2024
40
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Androidを自由にカスタマイズしたい~!
HalunoYo.
October 10, 2024
More Decks by HalunoYo.
See All by HalunoYo.
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
110
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
490
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
How to Ace a Technical Interview
jacobian
281
24k
How STYLIGHT went responsive
nonsquared
100
6.3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
We Are The Robots
honzajavorek
0
320
A Soul's Torment
seathinner
7
3.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
310
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化しないと出来ないようなことが色々
ご清聴ありがとうございました!