Androidでadbを使ってアプリのアンインストール、「設定」を起動

AndroidスマホT-01Cに、とあるアプリを入れたら、「ホーム」がエラーの無限ループに入ってしまった。
再起動しても駄目 (T_T)

エラー
ホーム (com.toshiba.nx.screen) が予期せず停止しました。やり直してください。

ググると、リカバリーモードで初期化するという方法が見つかる(電源を一旦落とし、ボリューム上ボタンとカメラボタンを押したまま電源ボタン長押し。Factory data resetして初期化)のだが、初期化は避けたい。

ということで他の方法をいろいろ探した時のメモ。

幸いなことにAndroidのSoftware Development Kitのadbが使える状態だった。
USBデバッグの状態にしていたため助かった。

adbを使ってアプリのアンインストール

とあるアプリをインストールした直後のトラブルだったため、そのアプリ自体がなにか悪さをしているのではないかと考えた。
そのため、adbを使ってパッケージのアンインストールをまず試みた。

adbを用いたパッケージの一覧表示:
adb shell pm list packages

adbを用いたパッケージのアンインストール:
adb uninstall パッケージ名
例えば
adb uninstall com.example.appl.cool

「Success」と表示されたらOK。

問題の(?)パッケージをアンインストールし、再起動したのだが、残念ながら状況は変わらず。

adbを使って「設定」を起動

さらにググったところ、「ホーム」(com.toshiba.nx.screen)のデータを初期化すれば直ったという例を見つけた。
「ホーム」のデータを初期化するには、「設定」を動かす必要がある。
ところが、「ホーム」が正常に動いていないため「設定」が起動できない。

さて、困った。

さらにググって、adbを使って「設定」を起動する方法を見つけた。

adbを用いて「設定」を起動:
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.Settings

「ホーム」のエラーダイアログを消すタイミングで「設定」を起動する必要があるが、何回かやればどうにかなるだろう。

「設定」が起動できたら、「アプリケーション」⇒「アプリケーションの管理」⇒「すべて」⇒「ホーム」⇒「データを消去」

「設定」を閉じると、初期化された「ホーム」が無事起動!

よかった ^^
でもつかれた~

これを機に、「ホーム」をやめて、Android標準の「ランチャー」(com.android.launcher)に変えようかなあ…

新しいGoogle Mobile Ad SDK

SDK のアップグレードはお済みですか?

2014年8月1日をもって、単体の Google Mobile Ads SDK(v6.4.1 以前)を使った新しいアプリや更新版アプリは Google Play で受け付けられなくなります。ぜひ Google Mobile Ads SDK の Google Play バージョンにアップグレードして新しい機能(例: バグ修正などの自動更新機能)をご活用ください。

とのことだ。
今使っているのはV6.4.1なので、これが単体版というやつなんだろう。
このままだと、Google Playにアップロードできなくなっちゃうの?

ということで、Google Play版というのを調べてみた。

https://developers.google.com/mobile-ads-sdk/docs/#playの「要件」というところによると、Android 2.3以降でないとだめらしい。
うーん、T-01Cは2.2.2だよ。
Nexus 7なら大丈夫だけど。
2.2.2より古いバージョン用として広告なし版を作る?
うーん。どうしたもんだか。

adbをroot権限で動かす

Android実機のバージョンに依存するようなのだが、Linuxのadbを動かすとpermissionがないと言われる場合がある。
グーグル先生によるとsudo adb start-serverという解が得られる。
確かにそれで解決。
ただいちいちsudoは面倒。なのでこうする。

su
cd hogehoge/sdk/platform-tools
chown root:root adb
chmod 4755 adb

つまりadbの所有者をrootにしてsuidビットを立てる。
こんな↓感じ。

-rwsr-xr-x 1 root root 1231255 1月 18 06:31 adb

T-01C root化失敗記録

T-01C(OS 2.2.2、BB 5014.1906.13)のroot化失敗記録

GingerBreak V1.2(リンク
BBが11だとできるらしいんだけど…

Z4ROOT V1.3.0(リンク
これでroot化できるというサイトはあるのだがだめだった。
何が違うのかは不明。
OSが2.1でないとだめかも?(リンクリンク

SuperOneClick
BBが12までならできるが、13や14だとだめっぽい。(リンク

うーん、やっぱりBBを11に落としてGingerBreakでroot化、というのしかないのかなあ…

T-01C セルスタンバイ問題はどのくらい「問題」なのか?

さて、セルスタンバイ問題である。(セルスタンバイ問題の解説は、たとえばこちら

T-01C(OS 2.2.2、BB 5014.1906.13、root化なし)とDTIのServersMan SIM LTE(SMSオプションなし)という組み合わせで使っている。
アンテナピクト、データ通信ともに全く何の問題もないのだが、電池使用量を見ると「セルスタンバイ」が90%以上であり、圏外率は100%。
まさに「セルスタンバイ問題」発生である。
続きを読む

Android セルスタンバイ問題対策ソフトメモ

T-01CでDTIのServersMan SIM LTEでデータ専用SIM(SMSオプション無し)を使うという環境で、節電アプリを使ってどうにかできないかとあれこれ。
いくつか試してみた。

2x Battery(2倍バッテリー)日本語版
悪くはなさそう。
ログも確認できて安心。
ただ無料版だとスリープ時の再接続の時間間隔が15分間隔しか選べないのが残念。

AMCT
切断・再接続(機内モードへの移行・復帰)のタイミングが細かく指定できる。
ログも確認できて安心。
ただし設定がわかりにくい。タイミングチャートとにらめっこしながら設定すればなんとか。
設定した時間内にデータ送受信があった場合には切断しないという機能は、考え方は良いのだが、実際に使ってみたらゴミ(?)の送受信が邪魔をして全然切断されないという事態が発生した。

Battery+(日本語)
機内モードにするのではなく、それぞれを切断するらしい。
が、WiFiは切れるけど、3Gが切断されないケースが散見。
悪くはないとは思うが、動作が不安定なのか?

SleepToAirplaneMode
非常にシンプル。
スリープ時の定期的な再接続(機内モードからの復帰)ができないのが残念。

自動機内モード制御 Free
今のところの一番のお気に入り。
ログが確認できる点も良い。
スリープ時の定期的な再接続(機内モードからの復帰)の間隔が最大60分までというのが、ちょっと残念。

No grammar constraints (DTD or XML schema) detected for the document

AndroidアプリをEclipseで作っていた時のトラブル。
レイアウトのXMLエディタで掲題のWarningが発生した。
内容に不適切な箇所は見つからず二進も三進も行かなくなった。
ぐぐったところ次のサイトに行き着いた。

http://androyer.blogspot.jp/2011/05/no-grammar-constraints-dtd-or-xml.html

Eclipseのバグだろうとのこと。(ちなみにこの問題が発生したのはEclipse KEPLER 4.3.1)

対処手順は次の通り。

  1. 問題のXMLファイルを開く
  2. Ctrl-AしてからCtrl-X
  3. これで警告マークも一緒に消えるはず
  4. Ctrl-VしてクリップボードをペーストしてやればOK

Androidアプリのアイコン作成 on eclipse

eclipseを使ってAndroidアプリを作った時のアプリアイコンの作成というか変更について。
Androidアプリを作成する時と同じような手順で、アイコンを差し替えたい時の手順。

  1. Package Explorerでアプリアイコンを設定したいプロジェクトを選択
  2. File⇒New⇒Other...
  3. 「Android」グループを開いて「Android Icon Set」をクリックして「Next」
  4. 「Launcher Icon」が選択されていること、プロジェクト名、アイコン名(ic_launcherのままで良い)を確認し、「Next」
  5. 「Image」をクリックして、「Browse」をクリックして、ファイル名を指定
  6. Padding、背景Shape、背景色などを調整して、「Finish」
  7. 「Replaceする?」の確認ダイアログが出たら、内容を確認して「Yes」とか「Yes to All」とか
  8. おしまい

この手順でやれば、でかいアイコンを一つだけ(pngでなくてjpegでも良さげ)用意しておけばOK。
縮小されたアイコンの気に入らない部分は、この後に手動でちまちま編集。