ラベル Android の投稿を表示しています。 すべての投稿を表示
ラベル Android の投稿を表示しています。 すべての投稿を表示

2013年12月21日土曜日

Nexus 5がWEB版Google Playに表示されない問題及びAndroidデバイスマネージャーに表示されない問題をGoogleに問い合わせてみた話 ( 解決しませんでした )

最初に言っておきますが、解決しませんでした。

ただ、原因が分かった事と、場合によっては改善するかもしれない方法を中の人にご教授頂いたので、それをここに載せておきたいと思います。

Nexus 5がWEB版Google Playに表示されない理由とAndroidデバイスマネージャーに表示されない理由


Nexus 5が上記の問題を引き起こす原因は、Android 4.4にその原因がある。Android 4.4 KitKatにおいて、Google Play開発者サービスに包含されるアプリケーションであるGoogle設定の位置情報の管理方法が変更されたことが直接の原因だ。

Android 4.3のGoogle設定->位置情報

Android 4.4のGoogle設定->位置情報

WEB版Google Playを介して端末にアプリケーションや、その他のコンテンツをダウンロードするには、「位置情報へのアクセス」する必要があるが、「Android 4.4 を搭載する Nexus 端末では利用できない」。

参考 : [Google設定] での位置情報の管理 - Google アカウント ヘルプ

Google Play ヘルプのお問い合わせから問い合わせて、Google Playストアに表示されない問題に対する4つの解決方法(後述)を試した後、Androidのバージョン、Google Playストアのビルドバージョン等の追加情報と共に再度問い合わせた所、Google設定で位置情報アクセスが利用出来ないことが原因である、と伝えられた。

非常に迅速な対応をして頂き、理由が明確に分かったのも素晴らしいが、Android 4.4にバージョンアップしたことで利用できなくなる、というのは甚だ残念だ。出来れば早めに改善して頂けると喜ばしい。

Androidデバイスマネージャーを利用出来ないのも同じ理由だろう。どう考えても同アプリは位置情報へのアクセスが必須であるので、その為利用できないのだろう。


Androidデバイスマネージャーは上記の画面で延々とロードし続ける。

もしNexus 5で上記の問題が発生していない方、解決した方は連絡下さると嬉しいです。

問題を解決しうる4つの方法

残念ながらAndroid 4.4では解決しなかったが、4.3以下では以下の方法で解決しうることをGoogleサポートの中の人からご享受いただいたのでここに載せる(原文ママ)

-------

【 A 】 アカウントの入れ直し
※アカウントの情報が消えることはございませんので、ご安心ください。

1. メニュー > [設定] > [アカウントと同期] に移動します。

2. 削除するアカウントの名前をタップして、メニュー > [アカウントを削除] をタップします。

アカウントの削除後に、次の手順を行うことで再度アカウントを端末に追加することができます。

3. メニュー > [設定] > [アカウントと同期] に移動し、[アカウントを追加] をタップします。

4. 表示される手順どおりにアカウント情報を入力し再度追加します。

-------

【 B 】 端末の再起動

-------

【 C 】 Play ストア アプリのキャッシュとデータの消去

1. [設定] > [アプリ] > [すべて] を開きます。

2. 下にスクロールして [Google Play ストア] をタップします。

3. [キャッシュを消去] [データを消去] をタップします。

-------

【 D 】 Play ストアのアップデートをアン インストール

1. [設定] > [アプリ] > [すべて] を開きます。

2. 下にスクロールして [Google Play ストア] をタップします。

3. [アップデートのアン インストール] をタップし、出荷状態に戻します。

4. 再度 Play ストア アプリ を開き、しばらくすると、最新版に 更新されます。

-------

2012年11月26日月曜日

Android 4.2でのフォント変更・AA対応

 先日Android 4.2がリリースされた。いくつかのバグ抱えていたりディレクトリ構成の変更による混乱等が起きているが、基本的にはブラッシュアップされており好ましいアップデートであるように思う。
 Android 4.2では4.1で追加されたfallback_fonts-ja.xmlが無くなり、fallback_fonts.xmlに再統合されている。これは実際にfallback_fonts.xmlを見ての予想なのだが、4.1では使用している言語によって使用するfallback_fonts-xx.xmlを変更していたものを、4.2ではfallback_fonts.xml内で言語を指定してフォントを設定するように使用変更したのだろう。
 上記の様なフォントの指定方法の変更の他、4.2ではフォント自体の種類も増えている。4.1がリリースされた際に追加された"sans-serif-light"で指定されるフォントの他に、"sans-serif-thin"で指定されるフォントが追加された。
 AAに対応させるための方法は、前回と同じように、system_fonts.xmlの先頭でシステムフォントを指定し、その次にMS Pゴシックを指定するように変更すれば良い。
 私としては、折角RobotoフォントがAndroidのために開発されたのだから、アルファベットには優先的にRobotoフォントを使いつつ、日本語には任意のフォントを指定したいので、基本的な日本語フォントについてはfallback_fonts.xml内で指定し、system_fonts.xml内ではシステムフォントにRobotoを、MS Pゴシックにtextarを指定している。細字フォントについては、文字のバランスが崩れるのを防ぐために直接日本語フォントを指定している。/system/fonts/ディレクトリに追加しているフォントは以下の通り。

 私が使用している変更済みのxmlはこちら。Rootに対応したファイラを使用して上書きし、パーミッションを644に変更するか、adb pushコマンドを使用してファイルをプッシュし、chmodコマンドでパーミッションを変更すれば良い。ここに書いていない細かい手順は関連記事を読んだりGoogleで検索する等して調べて下さい。


関連記事

2012年7月4日水曜日

Android 4.1 Jelly BeanでのAA表示

Android 4.1 Jelly Beanではフォント指定の仕組みが再び変更され、基本的に日本語フォントについてはfallback_fonnts-ja.xmlが参照されるようになった。

今回は、system_fonts.xmlでのフォント指定、fallback_fonts-ja.xmlでのフォント指定、fallback_fonts.xmlでのフォント指定について、それぞれ特徴的なフォントを指定することで、どのような場面でどのフォントが参照されるのかを調べてみることにした。


fallback_fonts-ja.xmlではモトヤLマルベリ、system_fonts.xmlでは04B-31、fallback_fonts.xmlではモフ字 1.3を参照することにした。


結果:
基本的な動作として、まず最初にsystem_fonts.xmlが参照される。一般的には、system_fonts.xmlの先頭に記述したfamilyが使用され、ブラウザ等でフォント名が指定されている場合は、その名前に対応したfamilyをsystem_fonts.xmlから探す。システムフォントの中でも通知領域にはsans-serif-lightとして指定したフォントがが用いられる他、sans-serif-condensed(次幅の狭いゴシック体)などが標準的に利用できるように設定されている。
system_fonts.xml内で指定されたフォントの中に、使用したい文字データが含まれていなかった場合にはじめてfallback_fonts-ja.xmlが参照される。私が実験した限りでは、fallback_fonts.xmlが参照されることは無かったため、設定している言語によって参照するxmlを変更し、表示するフォントを変えるための仕組みが実装されたということだろう。

結論:
system_fonts.xmlの先頭でfontfamilyをSystem等としてシステムフォントを設定、同様にMS PゴシックにKuma_LiteやTextar等の携帯端末向けAA対応フォント(PCとはフォントレンダラーの仕組みが異なるため、携帯向けのAA対応フォントでないと表示が崩れる)を設定し、その他のゴシック体のグループにも日本語フォントを指定しておくと良いだろう。通知領域のフォントはよく目にするので、sans-serif-lightもarial等のグループに一緒に含めておくと、フォントの統一感が向上する。
fallback_fonts-ja.xmlでは、MTL3mr.ttfの部分に使用したい日本語のフォントを指定すれば良い。
もちろんアクセス権の設定を忘れずに。

以下に私の設定例を示す。

system_fonts.xml
(前略)
<familyset>

    <family>
        <nameset>
            <name>system</name>
        </nameset>
        <fileset>
            <file>DroidSansJapanese.ttf</file>
            <file>DroidSansJapanese-Bold.ttf</file>
            <file>Roboto-Italic.ttf</file>
            <file>Roboto-BoldItalic.ttf</file>
        </fileset>
    </family>

    <family>
        <nameset>
            <name>MS Pゴシック</name>
            <name>MS PGothic</name>
        </nameset>
        <fileset>
            <file>textar.ttf</file>
        </fileset>
    </family>

    <family>
        <nameset>
            <name>sans-serif</name>
            <name>arial</name>
            <name>helvetica</name>
            <name>tahoma</name>
            <name>verdana</name>
            <name>sans-serif-light</name>
        </nameset>
        <fileset>
            <file>DroidSansJapanese.ttf</file>
            <file>DroidSansJapanese-Bold.ttf</file>
            <file>Roboto-Italic.ttf</file>
            <file>Roboto-BoldItalic.ttf</file>
        </fileset>
    </family>
(以下略)

fallback_fonts-ja.xml
            <file>MTLmr3m.ttf</file>
の部分を
            <file>DroidSansJapanese.ttf</file>
            <file>DroidSansJapanese-Bold.ttf</file>
            <file>Roboto-Italic.ttf</file>
            <file>Roboto-BoldItalic.ttf</file>
で置き換え。

fallback_fonts.xml
編集しない

尚、textar.ttfはGoogle Code -Textar Fontから、DroidSansJapanese.ttf及びDroidSansJapanese-Bold.ttfはANDROIDLOVER.NETMyupdate-v1.4-JB.zipを利用している。フォントの変更方法についてはANDROIDLOVER.NETを参照して欲しい。多謝。

2012年6月6日水曜日

私とGalaxy Nexus

実は先日Galaxy Nexusを購入した。契約としては、SoftBankのHTC Desireから違約金を支払ってのMNPによるドコモとの新規契約となる。私自身が最新のNexusブランドの端末を所有したかった事と、安かった事が理由だ。

心配だったPenTile配列の液晶や、大きすぎる4.65インチの液晶も、慣れてしまうと全く気にならない。前者については、よく見れば画面左端が緑色であることが分かるものの、Nexus Sとは異なり普段使っていて気になるほどは目立たない(とは言ってもPenTile配列でない液晶と比較すると普段の目の疲れは異なるだろうが)し、後者についてはLMT Launcher(要root)を利用すれば画面下部へ指を伸ばさなくても基本機能のボタンにアクセスできる様になる(連打はできなくなる)。

以前の記事でも書いたように、ICSのGUIに関しては気に入らない部分が多々あるが、慣れれば操作自体は十分に可能だ(依然として不満ではあるが)。

普段はAndroid Open Kang Project(通称AOKP)とカスタムカーネルのGlaDOSを組み合わせて使っている。最近は消費電力が気になるためLeankernelへの乗り換えを検討中だ。

ところで5月28日にGalaxy Nexusを落下させてしまい、液晶を破損させてしまった。幸いドコモのケータイ補償 お届サービスに加入していたため、5250円で修理してくれる上に代替機として同じGalaxy Nexusを借りることができた。
フロントパネルにひびが入ったGalaxy Nexus
電話をかけてから一日で代替機が届き、あまりの早さに驚かれされた。

最近はLumia 900やWindows 8タブレット、新しいiPad等気になる製品が多い。ThinkPad X1 Carbonもとても欲しい。物欲ぐぬぬ…

2012年2月8日水曜日

Ice Cream SandwichのGUIが好きになれない理由

Ice Cream Sandwich(以下ICS)ではUIが大きく刷新され、見た目は随分美しくなり、使い勝手も大きく変更された。しかし、私的には変更されたUIのダメな所が目立って見えてしまう。確かにアニメーション等の細部を見ればエレガントなのかもしれないが、根本的なGUIの設計がスマートフォンの利用形態に適していないように思う。その理由を2つ、以下に挙げる。

1. 再編成された下部のボタン

ICSでは、画面下部のボタンが4ボタンから3ボタンに再編成され、そのボタン構成は大きく変動した。今まで、画面下部には「戻る」、「メニュー」、「検索」、「ホーム」の4つのボタン(端末によっては検索ボタンが省略されていることもある)が配置されていたが、ICSからはこれが「戻る」、「ホーム」、[最近使ったアプリ]の3つになった。
この再編成ははっきり言って私はよくないと思う。2.3以前ではホームのロングタップによって最近使ったアプリの機能を呼び出していたので、それを鑑みれば完全に機能の削減しか行われていないと言える。Googleは、この機能の削減について、「使用可能な機能を常に画面上に表示しておきたい(参照)」ということを理由としているが、この主張にはどうも納得がいかない。
ICSのホームアプリは、初回起動時に、画面中央下のボタンを押すとアプリケーションの一覧が表示されること、アプリの起動方法等をチュートリアルとして表示してくれる。ICSでは、本体下部のボタンも画面内に表示されるのだから、ホームをロングタップすることで最近使ったアプリの機能を呼び出せることを明示すればよいだけの話である。
メニューを非表示にした理由は、これらの機能がアクションバー内部に組み込まれたからであるが、アクションバー自体がそもそもスマートフォンにおける小さな画面内に常に表示されるというナンセンスさを孕んでいる。これについては第2項で後述する。
端末の横幅を考えれば、4つのボタンを配置するのはベストのバランスであるように思う。押し間違いが生じたり、押しにくくなったり、あるいは機能について混乱が生じない限り、ボタンの数は多ければ多い程良いと私は考える。

2. アクションバーのナンセンスさ

メニューボタンはアプリにより表示位置が異なり、右上や右下に表示される。
Honeycomb以降、Googleはユーザに分かりやすいように、使用できる機能を常に画面内に表示する、というスタンスを示した。ユーザに分かりやすいインタフェースを作ろう、というGoogleの姿勢はおおいに評価できるものであるが、アクションバーの実装ははっきり言って気に入らない。
まず、アクションバーは画面の表示領域を狭める。これは、画面の広いタブレットならまだしも、画面の狭い(あるいは、できるだけ表示領域を広くしたい)スマートフォンにおいては致命的と言える。使用できる機能を常に画面内に表示したいならば、メニューボタンに対する動作が設定されたアプリケーションではメニューボタンを表示し、メニューボタンに対する動作が設定されていないアプリケーションではこれを非表示にすればよいだけの話である。
次に、アクションバーはメニューにより呼び出されるボタン類と異なり、基本的にアイコンのみの表示であり、テキストが表示されない。このため、アプリケーションによってはそのアイコンが何を意味するのか全く分からない。Gmailのアクションバーにある既読にする、はまだしも、アーカイブ等、誰が最初に見てすぐに分かるだろうか?(そしてアーカイブを押すと警告なしにアーカイブされてしまい、元に戻すのが面倒である)。更に言えば、アクションバーのボタンは既存のメニューで表示されるボタンよりも小さく押しづらい。
最後に、アクションバーの分断問題が挙げられる。これは、HoneycombとGingerbreadを統合する上で、画面の狭さをカバーするために採られたAndroidのAPIの実装上の問題であるが、これにより、アプリケーションによって、アクションバーが分断されていたりここにさらに補足、メニューボタンが画面右上にあるために非常に押しづらい、などの問題が生じる。画面が大型化する傾向にあるスマートフォンにおいて、片手で操作する上で画面上部にあるボタン、というのは非常に押しづらい。タスクバーの引き下げ等、大雑把な操作で良いものは問題ないが、小さなボタンのタップは困難を極める。

Android版Google Chrome「Chrome Beta」レビュー

殆どTwitterのまとめですが、一応記事をば。

Chrome Betaではブックマークを同期するとパソコンのブックマーク、その他のブックマーク、モバイルのブックマークの3つのブックマークに分けて表示されます。非常によく考えられた実装ですね。

パソコンで開いていたタブも同期できます。こちらは新新規タブの右下からアクセス出来、直接タブが同期される訳ではありません。先ほどのブックマークとよく開くページも併せて複数の機能が新規タブに統合されています。
どうやらChromeがコンピュータごとに同期しているようで、各々のChromeで現在開いているタブにアクセスできる機能のようです。PC側でスリープした場合は維持されますが終了した場合はここに表示はされません。

タブはカードのスタックというメタファで表現され、一番上や下でさらにフリックするとカードが上下に傾き、横にフリックするとタブを閉じます。そこ、webOSとか言わない!全体がICSのGUIと統一されていますね。

メニューには一通りの機能が集約されています。ヘルプは背景のページに、その他の端末はタブの同期機能にアクセスします。でも戻る・進む・ブックマークは再下段に実装すべきだったのではないかなぁ…

検索エンジンはGoogle、Yahoo!、Bingから。残念ながらフルスクリーンの機能はありません。非常に優れたGUIのページ内検索機能を内蔵しています。

Chrome Betaにおいて、AAはずれこそ殆どしませんが、ページ幅の扱いの関係からしばしば激しく改行が入ってしまう上、フルスクリーン機能も無いので、AA表示には向かないと言えるでしょう。AndroidでのAA表示にはFirefoxが向いています。
フォントサイズは極小でもあまり小さくならないので結局AA表示は困難です。

又、ICS以降の各種ブラウザの挙動同様 file://.* で端末内のファイルにアクセスできますが、ディレクトリを表示できない点も同様です。PC版のChromeではディレクトリにアクセスできるのでここは何とかしてほしいところです。

ページの保存機能は(たぶん)ありませんが、PC側でDev チャンネル版ChromeとChrome to Mobileを組み合わせることでウェブページのスナップショットを送信し、オフラインでも見ることができます。私はChrome to Phoneをアンインストールして乗り換えました。

2012年1月4日水曜日

Ice Cream Sandwichのフォント指定とAA対応

ICSからはxmlによるフォントの設定が可能になったので、今回はNexus Sを例にICSにおけるフォントの導入についてまとめる。今回は、MS Pゴシックをmonaya.ttfに置換し、通常の日本語文字にはモトヤフォントを用いることにする。
まずはSDKを導入する。Android SDK revision 16ではいつのまにかfastbootが復活していたので、必要なコンポーネントは最新のAPIのSDK Platform(これにモトヤフォントが含まれる。持っている場合は不要)、Tools->Android SDK Platform-tools(adbやfastboot)、Google USB Driver package(ドライバ)の3つを揃えれば良い。SDKの他に必要な物はClockworkMod Recooveryとmonaya.ttfの2つ(ぐぐって手に入れてください)。
ここから先はドライバの導入とパスの通しが終了していることを前提に記事を書くので、それが済んでいない人は過去記事を参照して頂きたい。
まず、フォントを指定するxmlファイルを取得する。管理者権限不要の任意のディレクトリをカレントディレクトリにし、ClockworkMod Recovery側でsystemをmountしたら、
  • adb pull /system/etc/system_fonts.xml system_fonts.xml
  • adb pull /system/etc/fallback_fonts.xml fallback_fonts.xml
と入力し、フォントを指定するxmlを取得する。
取得したxmlをUTF-8とUNIXフォーマットの改行コードを出力できるテキストエディタ(notepad++等)を用いて編集する。fallback_fonts.xmlでは先に書いたフォントが優先的に使用されるので、MTLc3m.ttfをxmlの文法にそって指定すればよい。system_fonts.xmlでは、MS Pゴシックの置換を行うように指定するので、以下のような記述をxmlの文法に沿って記述してやればよい。


    <family>
        <nameset>
            <name>MS Pゴシック</name>
            <name>MS PGothic</name>
        </nameset>
        <fileset>
            <file>monaya.ttf</file>
        </fileset>
    </family>
こうすることでMS Pゴシックをmonaya.ttfで置き換えて表示することができる。今のところ、Android上ではAA対応フォントも微妙にずれてしまうので、monaya.ttfが最もずれないで表示することができるフォントのようだ。
xmlの編集ができたら、フォントは/system/fonts/に、xmlは/system/etc/に送ってやる。

  • adb shell
  • cd system/etc
  • mv fallback_fonts.xml fallback_fonts.xml.old
  • mv system_fonts.xml system_fonts.xml.old
  • exit
  • adb push fallback_fonts.xml /system/etc
  • adb push system_fonts.xml /system/etc
  • adb push monaya.ttf /system/fonts
  • adb push MTLc3m.ttf /system/fonts
  • adb shell
  • cd system/etc
  • chmod 644 fallback_fonts.xml
  • chmod 644 system_fonts.xml
  • cd ../fonts
  • chmod 644 monaya.ttf
  • chmod 644 MTLc3m.ttf
  • exit
これでMS Pゴシックはmonaya.ttfに、その他の日本語+αはモトヤフォントに変更される。あやまって文鎮化させたり不具合が起きても自己責任で。最後になるが、AA対応フォントがその文字に対応していても、うまく表示できない文字が存在するようだ(※)。謎である。

2011/01/04追記
※FirefoxやOperaでは正常に表示されるため、Android内蔵ブラウザのレンダラーが抱える問題のようです。Operaでは文字幅こそ正常なものの、一部のフォントが別のフォントで置き換わっている(ように見える。少なくともFirefoxとは異なるレンダリング結果)症状や、勝手にメールアドレスとして解釈してしまうようです。一方Firefoxはそのようなことはないものの現行版では全画面表示が行えません(ステータスバーを非表示にできません)。一長一短ですね。
デフォルトブラウザ
Firefox
Opera
正しい表示(Google Chrome 16 Windows版)
デフォルトブラウザ
Firefox
Opera
正しい表示(Google Chrome 16 Windows版)
上記画像は誠に勝手ながら◆20L.ujnjAg氏の作品「【fallout】 人工物は善なる存在になりたいようです」を使わせていただいています。多謝。

2011年12月31日土曜日

Nexus SがUSB接続を認識しなくなってから復旧までの作業

Androidマーケット100億DL記念10円セールもあり、なんとなくアンインストールしていなかったアプリケーションのリストラも含めて完全に初期化しました。
今回生じた不具合(Nexus S側の不具合か私側が起こした問題かは不明)は、Android側、PC側共にUSB接続を認識しなくなるというもの。通常起動中は充電こそするものの、PC側もAndroid側も正常接続はおろか接続していることすら認識しなくなってしまいました。ちなみに起動中は認識しませんが、bootloaderでのfastbootコマンドやClockworkmod Recoveryでのadbコマンドは通るので、ハードウェアの故障ではなくソフトエラーであることはほぼ確定できました。
ここからDLしてきたClockworkMod Recovery 5.0.2.0をflashして
  • wipe data/factory reset
  • wipe cache partition
  • wipe dalvik-cache
  • wipe battery stats
を全て行いましたが、それでも治りませんでした。何度か色々な方法を試してみた所、一度だけ復活しましたが、いつの間にかまた認識しなくなってしまいました。
実は(分かっている人は分かっていると思いますが)これだけでは完全な初期化はできていません。完全な消去を行うには以下の手順を実行する必要があります(参考URL)。
  • wipe data/facvoery reset
  • format /system
  • format /boot
完全消去を行ったら、ここからDLしてきたzipをinstallしましょう。zipはClockwork Mod Recoveryを起動した状態でadbコマンドから送信することができます(adbコマンドの使い方はオプションコマンド無しでadbコマンドを実行することで確認可能)。/sdcardをmountした状態で行うのがベターでしょう。それなりに時間がかかる(数分程度)ので、慌てず騒がずゆっくり待ちましょう。
以上の手順で/sdcard下のディレクトリ以外のデータは失われたものの、復旧することができました。初期化されたクリーンな状態のガジェットに触ると何とも言えずニタニタしてしまいますね。

それではみなさん、良いお年を。

2011年10月26日水曜日

Nexus S 3G Ice Cream Sandwich Beta 2入れてみた。

Googleアカウントのログイン画面。
ウェブログインもできるので、2段階認証も利用できます。
でもGoogleアカウントにログインしないと認証システムアプリをDLできないので、
2つ以上Android端末を持ってるGEEKな方しか利用できません。
このROMの仕様なのか、Nexus Sでの仕様なのか、
ステータスバーは透過しないようです。
プリインストールアプリケーションの一覧。
今回のAndroidではシステムアプリケーションの無効化できますけどね。
ギャラリー、タイル状に敷き詰められるのかと思いましたが、
そんなことはなかったです。このROMの仕様かも。
ブラウザのメニューとオプションの深い層。
待望の全画面表示がデフォルトブラウザにも追加されました。
超快適ブラウジング画面(左)。タブの表示はアプリ切り替えと同様の操作感。
フリックでタブを閉じるところも同じ感覚です。
変わらない電卓。
ホーム画面にアプリとウィジェットを敷き詰めるとこんな感じ。
上部のGoogle検索バーはデフォルトで全ての画面に表示されます。
フォルダごっつええ感じです。
横画面はこんな感じ。ちょっと縦が詰め過ぎな感じです。
このROMの仕様かもしれませんが。
ロック画面と時計。時刻のフォントはHoneycombの物に統一されたようです。
時計は未調整のためか、はみ出てますね。たぶんこのROMの仕様。
壁紙選択画面とトリミング画面。ロムの仕様か選択画面が変な感じです。
トリミング画面は横表示に対応したためにややこしくなりました。
横表示での壁紙の表示はこんな感じ。
左端の画面と右端の画面。
縦画面ではこんな感じ。
音楽アプリは画面いっぱいにアルバムアートが表示されるようになりました。
ROMの仕様か見きれてしまってますが。
新しいGmailではアドレスをタップすると連絡さきが表示されます。
登録しておけば「お前誰?」ってなりません。便利。
ATOK。入力方法の切り替えは入力ボックスのロングタップではなく、
ステータスバーから行う仕様になりました。正直結構探した。
Googleマップがフリーズしなくなった!これはでかい!
(フリーズしにくくなっただけかも)
顔認証はオミットされてました。
beta2だから仕方ないね。

2011年10月1日土曜日

Nexus S ルート化手順と各種ノウハウ

々なサイトにルート化手順が載っているが、複数のページに様々なノウハウが散らばっているのでここに整理する。

大雑把な手順は以下のとおりだ

  1. Nexus Sをデバッグ接続する
  2. bootloaderを起動
  3. recoveryにclockworkmodをフラッシュする
  4. recoveryを起動
  5. systemをマウント
  6. suとsuperuser.apkをNexus Sにコピー
  7. suのアクセス権限を変更

 フォントを変更する場合、recovery状態でPCからCUIを用いて変更する方法と、Android上でシステム領域を書き換え可能なファイラを用いて書き換える方法がある。

以下に箇条書きでノウハウを書き連ねる。

  • SDK Managerは起動時に一斉に各種パッケージをインストールしようとするが、ドライバとプラットフォームツールズだけで良い※。
  • 横着せずにtoolsplatform-toolsパスを通さないと途中で止まったりする。
  • アップデート時は再びclockworkmodからsuのアクセス権限を再設定するだけで良い。
  • アップデート時、フォントを置き換えている場合は元に戻す必要がある。戻さないとアップデートに失敗する。
  • ファイラを用いてフォントを置き換える場合、アクセス権限に注意。間違えると永久再起動ループに陥ったりする。他のフォントと同様のパーミッションにしてやれば良い。
0. 必要なファイルの用意、セットアップ
 ドライバをAndroid SDK | Android Developersから、clockworkmodのリカバリイメージをRom Managerから、Superuserを[APP] Superuser 2.3.6.1 - Now on the Market [2010-09-05] - xda-developersからダウンロード。SDK Managerを起動し、以下の画面が表示されたらキャンセル。
 Available packagesからAndroid Repository->Android SDK Platform-tools, revision 7とThird party Add-ons->Google Inc. (dl-ssl.google.com)->Google USB Driver package, revision 4にチェックを入れ、Install Selectedをクリック、手順に従ってインストールしてください。
その後、スタートメニューからシステム環境変数の編集を検索し、PATHの末尾に"android-sdk-windows\platform-toolsのフルパス;android-sdk-windows\toolsのフルパス;"を追記して下さい。C直下にandroid-sdk-windowsフォルダをおいた場合は以下のような感じになります。

1. Nexus Sをデバッグ接続する
 Nexus Sをデバッグ接続するにあたって、設定->アプリケーション->開発->USBデバッグをONにする必要がある。また、ドライバは先ほどSDKからダウンロードしたものを用いる。デバイスマネージャを開き、Android 1.0またはNexus Sと表示されているデバイスを右クリック、ドライバソフトウェアの更新を選択する。以下のスクリーンショットではウィンドウのタイトルがAndroid Composite ADB Interfaceになっているが、ここは違っていても構わない。
 コンピュータを参照してドライバーソフトウェアを検索します(R)をクリック。
 コンピューター上のデバイスドライバーの一覧から選択します(L)をクリック。
 ディスクを仕様(H)...をクリック。
 参照(B)...をクリックし、SDKからドライバを読み込み。
 互換性のあるハードウェアを表示(C)のチェックボックスをオフにし、Android Composite ADB Interfaceを選択し、次へ(N)をクリックし、手順に従ってドライバをインストール。

2. bootloaderを起動
 0. 必要なファイルの用意、セットアップ でSDK内のplatform-toolsフォルダとtoolsフォルダにパスを通してあると思うので、コマンドプロンプトを起動し、"adb reboot bootloader"と入力。

3. recoveryにclockworkmodをフラッシュする
 先ほどのドライバのインストールと同様の手順で、今度はAndroid Bootloader Interfaceをインストール。
 インストールできたら、コマンドプロンプトを起動しなおし、"fastboot oem unlock"と入力。アンロック画面が出るので、音量ボタンでYesを選択し、電源ボタンで決定。
最初にダウンロードしたclockworkmodのリカバリイメージのあるディレクトリに移動(cdコマンド等)し、"fastboot flash recovery ファイル名"と入力。拡張子まで忘れずに入力すること。

4. recoveryを起動
 音量キーでrecoveryを選択し、電源ボタンで決定。

5. systemをマウント
 同様に音量ボタンで移動、電源ボタンで決定。mounts and storage->mount /systemでsystemフォルダをマウント。

6. suとsuperuser.apkをNexus Sにコピー
 コマンドプロンプト側で最初にダウンロードしたsuperuserを解凍したディレクトリに移動、suとSuperuser.apkを同フォルダに置き、"adb push su /system/bin/"、"adb push SuperUser.apk /system/app/"と入力。

7. suのアクセス権限を変更
 "adb shell"、"cd /system/bin"、"chmod 6775 su"、"exit"と入力。

 以上でルート化は終了。フォントを変更する場合、このままの画面で変更する場合は、同じフォルダにフォントファイルも置き、"adb push DroidSans.ttf /system/fonts/"と入力してやれば良い。

2011/10/26追記
※Android SDK revision 14からfastbootが付属しなかったので古いSDKが必要。

2012/01/04追記
※Android SDK revision 16でfastboot復活してました。

2011年8月17日水曜日

ここが変だよ!Android

Androidについて、何とかして欲しいと思う点。

・標準APIでオープンファイルダイアログを備えない
Androidは、ファイルを開くダイアログを標準のAPIとして備えていない。このため、個々のアプリによって独自のダイアログを実装していたり、OI File Managerを呼び出してそのインテントを受け取る等、それぞれバラバラの実装方法を採っている状況だ。GoogleはAndroidにオープンファイルダイアログを実装するべきだ。

・標準でファイラアプリを備えない
先のオープンファイルダイアログに関連する問題だが、標準的なファイラくらいは備えて欲しい。

・ディスプレイ消灯後の遅延ロック機能
ディスプレイの消灯とロックは別々のタイミングで行うべきだ。もっと言えば、ロックキーを押して消灯してから一定時間後に実際にロックをかけるような設定を設けるべきだ。これは、スクリーンセーバーを一定時間表示してからスリープに入るのと似たような感覚だ。特に、Androidでは頻繁に画面を消す人は多い。セキュリティーの問題からパスワードをかけている人にとって、そのたびにパスワードを入力しなくてはならないのは、かなり面倒なことだ。

・ストップウォッチ・タイマー機能
どういうわけか、Androidでの時間を計るアプリケーションは異様に電池を消費する。この機能について、低消費電力化を行う必要がある。また、標準の時計アプリにストップウォッチとタイマー機能くらいは標準で備えて欲しい。

・フラッシュの扱い
現状、LEDフラッシュはデバイスによって扱いが異なり、ソフトとハードの組み合わせによって扱えたり扱えなかったりする。できればGoogleが推奨の実装を提示し、統一されたAPIからLEDフラッシュを操作できるようにするべきだ。

・メディアファイルのリスキャン
追加されたメディアファイルを各種マルチメディアソフトから扱うには、再起動するか、Rescan Mediaなどのサードパーティ製ソフトを用いるか、特殊な操作が必要となる。設定等からメディアのリスキャンを行えるようにするべき。

・スクリーンショット
ルートなしで扱えるようになるというアナウンスがあったが、その後はどうなったのだ?

・ブラウザとフォント
フォントを扱う仕組みを整え、ブラウザでフォントを指定できるようにして欲しい。

・Google Talk謎の挙動
起動直後に音もなくログインして、通知すら出さないのはやめてください!

以下2011/10/04追記
・音楽アプリのGUI
アルバムアートはできるだけ大きく表示して欲しい。また、歌詞の表示機能も欲しい。その他、GUIのお粗末さが目立つ。

2011年3月14日月曜日

Nexus Sファーストインプレッション

 個人輸入でNexus S購入しました。輸送費も含めて5万円弱で購入することができました。使っている感じは、Desireとそう変わらない、といった感じです。Nexus Sの方が液晶が大きく、スペックも上なので操作しやすく高速に動作するはずですが、比較しないとわからないレベルです。2.3になってインタフェースは格好良くなりましたが、それ以外特に体感面ではあまり変わりありません。
 Desireと比較して光学ポインタや決定ボタンが無く、本体下部の4ボタンが物理ボタンではなく、タッチセンサで、並びも異なりますが、これも慣れの問題です。インカメラは使わないのでよくわかりません。ロック・電源ボタンが本体右上横に付いているのも慣れが必要ですね。
 Nexus Sには2つ問題があります。まず、本体がツヤツヤの素材でできているので、指紋が気になる上に滑りやすく落としやすいこと。次に、戻るボタンを押した際に離した判定をうまく感知できず、戻るボタンを長押しした判定になり、本体下部のボタン操作ができなくなることです(一度ロックすれば直ります)。

 Nexus SはMicroSDスロットを持ちません。その代わりに本体にパーティションを区切られた16GBのフラッシュストレージを内蔵しています。ディレクトリ名はsdcardになっています。APN設定すればSoftBank及びドコモの回線を利用出来るそうです。

DeFroST 2.5a 導入方法 3.カスタムROMのインストール

あーばばば。気合いれて翻訳したらなんかだれてきたからカスタムROMのインストールは適当にやるお!!
とりあえず1で言ったバックアップをもっかい確認したらマーケットからRom Managerをインストール。
ついでにいれたいカスタムROMをSDカードにいれておく。
Rom Managerを起動したらClockworkMod Recoveryを導入して、一応現在のROMをバックアップ。バックアップできたらSDカードからROMをインストールを選んでワイプにチェックしてインストール。この時端末のデータ全部消えるので注意(SDカードは消えないよ)。インストール中に電池きれたら死ぬかもわからんから気をつけてね。
完了したらバックアップしたapnとかフォントとかを戻す。めんどくさいから自分で調べてくれ。いじょ。

2010年8月7日土曜日

DeFroST 2.5a 導入方法 2.デバイスのルート化

 早速デバイスのルート化及びBootloaderのアンロックのの具体的な方法を説明していきましょう。手順は以下のとおりです。
1. 不具合を起こす可能性のあるプログラムのアンインストール
2. 起動状態のDesireをつないだ際に動作させる適切なドライバのインストール
3. Desire側の設定
4. HBOOTドライバのインストール
5. unrevokedの実行

1. 不具合を起こす可能性のあるプログラムのアンインストール
 doubleTwistやHTC Sync等の端末と独自に通信を行うアプリケーションを削除しましょう。この際、HTC Syncはドライバを残してアンインストールします。

2. 起動状態のDesireをつないだ際に動作させる適切なドライバのインストール
 1でHTC Syncをドライバを残してアンインストールした方はこの行程は不要です。それ以外の方はHTC Syncをインストールし、ドライバを残してアンインストールしてください。

3. Desire側の設定
 DesireのUSB接続タイプの設定で、今後表示しないにチェックをつけ、規定の接続タイプを充電のみにしてください。さらに、端末のUSBデバッグをONにしてください。

4. HBOOTドライバのインストール
 以下は公式サイトHBOOTドライバのインストール方法の翻訳です。画像は省略していますので本家サイトを見てください。
--------------------------------
・unrEVOked modified USBドライバをダウンロードし、どこかあなたが忘れない場所にそれを解凍してください。
・あなたの端末の電源を切り、電源と音量-ボタンを長押ししてHBOOTメニューにブートしてください。
・EVO 4Gでは、あなたは音量-ボタンを4回押してメニューのHBOOT USBを選び、電源ボタンを押さなければなりません。ボタンを押す前に、「SD Checking」と表示ている間画面が光るまで待ちます;そうしないと、端末がキー入力を受け付けてくれません。
・あなたのWindowsPCにUSBケーブルで端末を接続し、端末上に「HBOOT USB PLUG」と表示されるまで待ちましょう。
・デバイスマネージャを開きます。
・スタートボタンを押し、「コンピューター」を右クリックし、「プロパティー」をクリック、「デバイスマネージャ」をクリックしてください。
・以下の画像のように、他のデバイスと一緒に、Android 1.0 deviceと表示されているはずです。

・Android 1.0を右クリックし、「ドライバーソフトウェアの更新」をクリックしてください。すると以下のような画面になるはずです。

・「コンピューターを参照してドライバーソフトウェアを検索」をクリックしてください。

・参照ボタンをクリックし、あなたのコンピュータ上のAndroid USBドライバのフォルダを選択し、OKをクリックしたら次へをクリックしてください。
・ステータスバー上にドライバのインストールの様子が表示されるはずです。いかなる警告がでても、OKを押してください。
・ドライバがインストールされ、以下のような画面になるはずです。

・閉じるボタンをクリックし、Android Bootloader InterfaceがAndroid Phoneツリー下に表示されていることを確認してください。
--------------------------------

5. unrevokedの実行
 以下は公式サイトの2011/03/14時点での和訳です。必ず、公式サイトで自分の端末がサポートされているデバイスかつサポートされているバージョンであることを確認してください。なお、HTC Desire SoftBank X06HTはHTC Desire GSMにあたります。
--------------------------------
unrevoked3 リカバリフラッシュツール

unrevoked3はあなたのAndroid端末にカスタムリカバリをフラッシュするためのツールです。
カスタムリカバリイメージによってシステムパーティション上で高度な操作を行うことができます。
例えばカスタムROMをフラッシュしたり、あなたの端末の完全なバックアップを取ることができます(「nandroid」によるバックアップ)。
我々はルート化された端末を欲する全てのユーザにカスタムリカバリをインストールすることを推奨します。

unrevoked3はここで入手できます。

今のところ、unrevoked3はサポートされている端末の全てのバージョンで動作します。このexploitを発見してくれたSebastian Krahmerに感謝。

WindowsユーザはこのHBOOTドライバをダウンロードしインストールするようお願いします。

unrevokedは一切保証が付きません(明示であるかまたは黙示であるかにかかわらず)。また、いかなる個々の動作についても適合性の保証をするものではありません。我々はリスクを出来る限り小さくするために努力してきていますが、作者はあなたの端末がダメージを負うあらゆる可能性を否定します(うまく翻訳できず)。
unrevokedを使用する全てのリスクはユーザである、あなたが負います。

サポートされているデバイス

unrevoked3は現在以下のAndroid端末をサポートしています。
・Sprint EVO 4G (HTC Supersonic)
・Droid Incredible (HTC Incredible)
・HTC Desire GSM
・HTC Desire CDMA (HTC BravoC)
・HTC Aria
・Droid Eris (HTC DesireC)
・HTC Wildfire (HTC Buzz)

unrevoked3は初期設定で以下のAndroid端末のNAND書き込み保護機能を恒久的に解除します。
・Sprint EVO 4G
・Droid Incredible (HTC Incredible)
・HTC Desire CDMA (HTC BravoC)

我々はunrevoked3のメカニズムはおそらく他のルート化された現在の世代のAndroid2.2搭載HTC製端末にも適用できることに気づいています。今現在、このツールは他の端末をサポートしていません;もしもあなたが上記のサポートされていない端末を持っているなら、是非我々に連絡してください。
--------------------------------
翻訳は以上です。上記の翻訳をよく読んだ上で理解したら、起動状態のDesireとPCを接続し、unrevokedの実行ファイルを起動し、指示に従って実行してください。

以上で全ての行程は終了です。お疲れ様でした。

DeFroST 2.5a 導入方法 1.前置き・事前準備

※HBOOTのバージョンによって下記の手段ではルート化及びBootloaderのアンロックができない可能性があります。
 御無沙汰しておりました。当方この度Advanced W-ZERO3[es]からHTC Desireに乗り換えましたので、今回はNexus One向けのAndroid2.2(Froyo)のHTC Desire向け野良ビルド(カスタムOS)であるDrFroST 2.5aの導入方法について述べていきたいと思います。本記事を含めたHTC Desireに関する記事は、SoftbankのX06HTに関する記事です。他のHTC Desireについては、非推奨とします。また、ぶっ壊れたり、異常な通信料を要求されても一切保証はできませんので予めご了承下さい。さらに、Windows 7 32ビット環境で様々な操作を行っていますが、64ビットでは一部手順がうまくいきませんのでご注意ください。
 DeFroSTを含むAndroid端末へのカスタムOSの導入方法は、大きく分けて次の3つの手順に分かれます。
1.Bootloaderのアンロック及びデバイスのルート化
2.カスタムリカバリのフラッシュ(厳密には必要ありません)
3.任意のカスタムOSの導入(ROM焼き)
野良ビルドの導入のためには、1の手順が必須となります。Androidは(ROMによってもしかしたら違うかもしれませんが多分基本的には)data、system、cache、.android_secure、boot、recoveryの6つの領域からなっています(HTC製端末の場合はここにHBOOTが加わるのかな?Samsungは知らん)。
 boot領域に入っているBootloader※1と呼ばれるプログラムには通常ロックがかかっており(かかっていない製品もある)、ユーザはBootloaderをアンロックしなければ、recovery領域にアクセスすることができず※2、従ってカスタムOSを端末にインストールすることができません※3。従って、まずBootloaderをアンロックする必要があります。Bootloaderをアンロックするためには(多分)デバイスをルート化する必要があります(この順序逆かも・・・)。
 Bootloaderを1度アンロックしてしまえば、ユーザはrecovery領域から自由にカスタムOSをインストールすることができるようになります。ただし、この時点でメーカーや、通信業者等からのサポートは一切受けられなくなります。一歩設定を間違えれば莫大な通信料を要求される可能性もありますし、端末が使用不能になる恐れも十分あります。一切合財、自己責任で行うことができる人以外はやってはいけません。
 さて、BootloaderをアンロックすればカスタムOSをインストールできる、とは言ったものの、先程述べたように、Bootloaderには通常ロックがかかっており、HTC Desireも例に漏れずロックがかかっています。Nexusシリーズ等の一部の端末は、このロックを任意で自由に外せるようになっていますが、HTC Desireはそのようなことはできません。ですから、Androidのセキュリティーホールをついて、無理やり任意のコードを実行し、ルート権限でアンロックしてやる必要があります。また、一度アンロックすると、ロック状態に戻すことはできない(実際にはできるようですが、日本語の情報が少なく、不明瞭)ので、注意してください。
 事前準備は大きくわけて以下の手順から成っています。
1.APNのバックアップ
2.フォントのバックアップ

1.APNのバックアップ
 マーケットからApnManagerをダウンロード、実行し、使用しているAPNにチェック、エクスポートでMicroSDにエクスポートしてください。エクスポートしたファイルは/sdcard/Apnmanger/apnlist.xmlとして保存されますので、これをMicroSDからPCにもコピー、バックアップしておいてください。

2.フォントのバックアップ
 /system/fonts/に入っている全てのファイルをMicroSDとPCにバックアップしてください。フォルダごとコピーするとよいでしょう。

 以上で事前準備は終了です。お疲れ様でした。

※1 Bootloaderは起動時に最初に呼び出され、各領域にブートするためのプログラム
※2 ロックされた状態の領域は(多分)system領域にしかブートできない
※3 いくつかの保護された領域は(多分)recovery領域からしか書き換えることができない

2010年3月29日月曜日

HTC Desire発表

 ソフトバンクから出ますね。
詳細はEngadget Japaneseこの記事を参照。
 ドコモからはXperia、ソフトバンクからはHTC Desire。これでAUからNexus Oneがでれば国内主要3キャリアからSnapdragon搭載Android端末が出揃うことになります。
 それぞれの違いは、
・画面の解像度
・OSのバージョン
・入力デバイスの違い
等ですね。カメラ性能の差などもありますが、これに加え各種キャリアごとのカバーエリア、料金等の差も考慮しなければならないでしょう。これでUQコミュニケーションズからHTC EVO 4Gがでれば面白いのですが。
WILLCOM…

2010/03/31追記
 AUからNexus Oneがでるものとてっきり思ってたんですが悪い意味で予想を裏切ってくれました。AUは所詮AUでしたね。

2009年6月4日木曜日

AndroidはTegraの夢を見るか?

 遅かれ早かれ見ることは確実だ。NVIDIAは公式サイトでTegra APXについて"次世代のWindows MobileやWindows CE、およびAndroidベースのスマートフォン、ポータブルナビ機器(PND)、およびポータブルメディアプレーヤー(PMP)の能力を高めます"としている。また、GoogleにとってもNVIDIAにとってもエンドユーザーにとってもそのメリットは大きいからだ。
 まずエンドユーザーにとっての利益。Tegraが携帯機器に導入されることでエンドユーザーにもたらされる利益を以下に列挙する。
・Adobe Flash PlayerのGPUアクセラレーション
・高度な3Dグラフィックス
・高度なメディア再生能力
・非常に小さい消費電力
いずれも今までの携帯では不可能だったことだ。携帯電話での動画再生は3gp等の専用形式で再生するのが主流であるし、TegraのようなHD動画のスムーズな再生は夢のまた夢だ(一部端末を除く)。3Dグラフィックスも今まで着々と強化されてきたものの、Tegraには遠く及ばない。そしてFlashのハードウェア再生支援はユーザーにオープンなWEBへの接続のためのより良い環境を構築してくれる。
 次にGoogleにとっての利益を列挙する。
・より多くのユーザーがWEBへと繋がる。
この一言に尽きる。同社が提供する多くの無料WEBサービスはこの為のものだし、Androidも同様だ。Androidは通常の携帯電話よりも高いハードウェア性能を要求するが、Tegraならばスペックは十分だろう。また、AndroidのオープンなプラットフォームはTegraのための開発をさらに容易にするだろう。
 最後にNVIDIAにとっての利益。
・Atomによって奪われていた市場の奪還
・PCに疎い層への同社の知名度の向上
NVIDIAはTegraの概要を説明する際に常々IntelのAtomを比較対象として持ち出してきた。そして、Tegraが劣っている(とIntelが指摘する)点はx86を採用していないことによる互換性の問題だけだ。一エンドユーザーの私としては、互換性の問題は微塵も感じていない。そしてAtomは最初に列挙したエンドユーザーにとっての利益を全く持っていない。フル機能のWindowsこそ動作しないものの、それ以外の点でTegraがAtomより優れているのは明白だ(一方Atomを採用した製品でWindowsのプリインストールが選択できない製品を私をしらないが)。

 Tegra、Androidに関する私的意見は以上だ。GoogleとNVIDIAの今後の一層の活躍に期待しよう。個人的にはWILLCOM D4の次期モデルへのTegra 600 シリーズ採用、W-ZERO3次期モデルへのTegra APX シリーズ採用を願いたい。