2012年8月20日月曜日

カスタムROMってなんぞや?

Androidのシステムファイルは/systemに展開されています、、先頭の「/」はroot(ルート)と呼ばれ、superuserである「root」と同じ呼び方ですが、単に「根元」という意味です。
Androidの用語はlinuxの用語である場合が多いので、解らないときは各自ググりましょう。2ch的に言うならばggrksと言われないように:-) ggrksが解らない人は、「ggrks 意味」でググりましょう。
んぁ?ググるが解らない??orz.. ぢゃ、exiteかgooかyaahooで「ググる 意味」で……

AndroidのカスタムROMとは、主にこの/Systemの改造したり入れ替えたものです。
/Systemの中身はAndroidを構成するサービスプログラムと通常削除できないGmail,Map、連絡先アプリやメーカのプリインストールメニュープログラムなどで構成されています。
「ROMを焼く」という表現が使われますが、10~20年前の電子機器になぞらえて言われているだけで、実際はAndroinフレームワークやその下で動くシステムアプリを入れ替えているに過ぎません。左程危険なわけでも無いのでチャレンジしてみてください。最悪の結果を考えてROM焼きをするならば、水没、紛失保障のオプションに1カ月入るのもいいかもしれません。ROM焼き失敗したときには携帯と一緒に入浴すれば…。

カスタムROMにしろ、フォントにしろ、大抵のカスタマイズは先人が苦労して手法を確立し、インターネットで公開しています。この公開された手法を使わないでカスタマイズするためには超マニアなスキルと寝食を忘れた時間が必要となります。先人の知識は偉大です。取りあえず享受する側になって、知識を増やしましょ。:-)
今日の一言:「Nexusの名前がつくAndroid機は一番情報が多い!」
 Docomo版GalaxyNexusにGooglが公開しているAndroid4.1.1(JellyBean)を導入
多分日本のメーカでは、まだ採用されていないバージョン
JellyBeanベースのカスタムROMを導入
ロック画面にバッテリー状態や天気予報が表示されている

root化てなんぞや?(2)

さて、root化するとどんな事ができるかってーと、機種による違いで断言はできないけれど、
・電源ONした時に表示されるロゴやアニメーション(bootlogo,bootsplash)をクールなものに差し替える。
・ROMの書き換えや、Android丸ごとバックアップができるClockWorkMod等のリカバリモードを導入できる。
・機能が上がり、格段に使いやすいカスタムROMを導入できる。
・Wi-Fiで端末同士を接続するAdd-Hook接続が使えるようになる
・Market(GooglePlay)にてダウンロード制限がかかっているアプリをダウンロードできるようにする。
・root化されていないと動作しないアプリを動かせる。
…文で書くと大したことに見えないけれど、Androidをカスタマイズするためには、何をするにしてもroot化は必須です。

ここでエンジニア的に注意しなくてはいけない事があります。Android本体のみで"rooted"な端末が、ADB(AndroidDebugBrige)=(WindowsとAndroid端末を繋いで、ファイル転送やデバッグをするツール)を使用したときにrootになれる"ADB rooted"とイコールではありません。
アンドロイドシステムに何らかの操作を行う場合、ADBにてWindowsから操作を行うか、Android単体で操作するかの違いが出てくるので、手順やできる事に違いが出てきます。
誰かがカスタムロムを提供している=adb rooted,self rootedな端末と考えて、ほぼ間違いありません。
今日の一言:「機種名+カスタムROMでググってから買えってば」
bootSplashを差替えたGalaxyNexus

2012年8月5日日曜日

root化ってなんぞや?(1)

Android携帯にアプリを入れようとすると、「×××× for root」なんてアプリがあって、root化されていないと使えない事がたびたびあります。
パッと出てくるだけで、
・アプリのバックアップ
・バッテリーの節約アプリ
・フォントの変更
・メーカー、キャリアがインストールしてくる糞アプリの削除
等々、root化されていないとできません
…で、root化って何よ??

AndroidってのはLinuxの上Dalvikという名のJAVA仮想マシンを動かして、その上でAndroidフレームワークを動かしている訳で、おおもとはLinux。
Androidを影で操るLinuxを知らなければ、この謎は解けません。

LinuxやUnixではOSにユーザを登録するときに権限を与える事ができます。権限を与える事自体、権限が無いとできませんが。。 :-)
そのユーザの中で最大の権限を持っているのがSuperUserである"root"というユーザーです。
rootでloginしているとき、rootユーザは何でもできます。OSが動くための設定を変えたり、大事なファイルを消したり。。。。
その為、Linux,Unixの管理者でも、通常は権限の無い一般ユーザでLoginし、必要な時だけrootになって管理します。

Android携帯も同じです。
携帯の持ち主がSuperUserになれてしまうと、携帯電話の大事なシステムファイルやさまざまなシステムデータが消されてしまうかもしれません。
携帯電話メーカーとしては、そのような携帯電話を保障して、無料修理などしたくはない訳です。
その為、出荷時にはrootユーザとしてアプリを動かせないようにして出荷しています。

ま、大抵のメーカ製Android機は、root化の方法が見つけ出されていて無保証である事を気にしなければrootの恩恵を受けられます。…SHAPE製を除けばね。

という事で、今日の一言。
「カスタマイズしたいならSHAPEは止めとけってwww」
Wiss1のみなさんや、そうでないみなさん、柴崎@自宅です。
このブログでは、Androidアプリの開発に役立つ情報を中心に、トリビア~ンな情報を提供していきたいと思っています。直接、開発に関係無い人にも、御自分のスマホのカスタマイズ等に後用立て下さい。