2013年7月15日月曜日

BusyBox Installer

概要

Androidはデフォルト状態だとLinuxで使えるコマンドよりも随分と少ないコマンドしか利用できません
それをbusyboxという小さめのプログラムをインストールして介して様々なコマンドを利用できるようにしてくれます
そしてbusyboxを使ったオペレーションをスクリプトとして登録しておき実行する機能も持っています

インストール方法


Google Playからインストール

概要

スクリプトからのオペレーション実行
Scripterタブ→スクリプト名→Run script で実行できます

DroidWall - Android Firewall

概要

アプリごとの3G通信、Wifi接続時の通信可否を設定することができ、意図しない通信を抑止することができます。
広告を表示するためだけに通信しているアプリに関しては広告を非表示にするためにも利用できます

インストール方法

Google Playからインストール

設定


アプリごとに3G通信、Wifi接続時に通信を許可したい場合はチェックを入れる
メニューから、「ルール適用」をタップ
メニューから、「Firewallオフ」をタップして「Firewallオン」表示にする

全能ツールボックス(All-In-One Toolbox)

概要

root化の恩恵として、システムアプリのスタートアップ抑止ができる他、キャッシュ削除やメモリの解放などができます。


インストール方法

Google Playからインストール


設定

ツール→スタートアップ管理→起動速度アップ→システム を選択


アンインストールするまででもないけれど、自動起動をOFFにしたいアプリを選択

私の場合は

  • アドレス帳
  • ギャラリー
  • フォトスクリーン
  • Google One Time Init
  • はじめに
  • テレビ
  • SIM Toolkit
  • 電話帳

をスタートアップ起動解除しました

AdAway

概要

/etc/hostsを書き換えることで、広告へのリクエストを127.0.0.1(自端末)へのリクエストに置き換えることで広告除去を実現してくれるアプリ。
単純に127.0.0.1へのリクエストに置き換えるだけだと応答が帰って来ず、待ってしまうアプリも存在するのでそれを回避するために空っぽの応答を返すWEBサーバを起動しておく機能も有する。
そのため、アプリを問わず/etc/hostsに登録した広告へのリクエストは全て非表示にすることが可能。

インストール方法

1. Ver 2.2の場合
APKTOP: http://www.papktop.com/tag/adaway-apk から AdAway_2_2.apk をダウンロードし、端末に転送してインストール

2. Ver 2.3の場合
F-Droid: https://f-droid.org/FDroid.apk をインストールして、ストアからインストール

更新履歴を見る限りVer 2.2->Ver 2.3は広告リストのhostsのソースが追加されただけの模様


設定方法


1.広告リクエストに対して空っぽの応答を返すためのWEBサーバを起動

メニューから「設定」を選択

ウェブサーバーを有効化
ウェブサーバーを起動時に開始

にチェックを入れる



2.hostsのソースを追加
デフォルトだと日本の広告リストは入っていないので追加してあげます

メニューから「hostsのソース」を選択

「+」をタップしてURLに「https://dl.dropbox.com/u/11972277/hosts」を入力して「追加」をタップ


不要なソースのチェックを外して必要なもののみチェックを入れておく


TOPに戻り「ファイルをダウンロードして適用」をタップ


androidを再起動して設定を適用



これで、ブラウザやアプリで広告が表示されなくなります
※ただし、hostsで指定されている広告に限る

2013年6月16日日曜日

削除して問題なさそうなシステムアプリ・・・F-11Dの場合

不要なシステムアプリが入っていると、メモリやCPUを無駄に占有したり、バッテリーの持ちが悪くなったり、ストレージ容量を無駄に喰ったりと嬉しく無いこと満載です
なので消してしまいましょう・・・
いきなり消してしまうのは動作不安定になってしまう可能性もあり不安なので一応SDカード内にはとっておきました

削除して数か月利用していてとりあえず問題なさそうなアプリをリストアップしておきます
BridgeLauncher.1.3.2.apk
Browser.apk
Browser.odex
Calculator.apk
Calculator.odex
Calendar.apk
Calendar.odex
CalendarProvider.apk
CalendarProvider.odex
ChaMiddleService.apk
ColorThemeCity.apk
ColorThemeCity.odex
ColorThemeKuuman.apk
ColorThemeKuuman.odex
ColorThemeMacaroon.apk
ColorThemeMacaroon.odex
ColorThemeMoimoi.apk
ColorThemeMoimoi.odex
ColorThemeNXiBlue.apk
ColorThemeNXiBlue.odex
ColorThemeNXiPink.apk
ColorThemeNXiPink.odex
Databackup.apk
DcmAppManager.apk
DcmCrossDbService.apk
DcmVoiceSearch.apk
DcmWapPushHelper.apk
DeskClock.apk
DeskClock.odex
DmcFota.apk
DmcFota.odex
DmcInitialScreen.apk
DmcInitialScreen.odex
DmcWaitingScreen.apk
DmcWaitingScreen.odex
DocomoHome.apk
DocomoInitialization.apk
Docomoremotelock.apk
EcoMode.apk
EcoMode.odex
Email.apk
Email.odex
ExpansionView.apk
ExpansionView.odex
FdtpApplication.apk
FdtpApplication.odex
FlashPlayer.apk
FujitsuAccount.apk
FujitsuAccount.odex
FujitsuHome.apk
FujitsuHome.odex
GMS_Maps.apk
Galaxy4.apk
Galaxy4.odex
Gmail.apk
GoogleCalendarSyncAdapter.apk
IconcierContents_signed.apk
ImageWidget.apk
ImageWidget.odex
LiveWallpapers.apk
LiveWallpapers.odex
LiveWallpapersPicker.apk
LiveWallpapersPicker.odex
MagicSmokeWallpapers.apk
MagicSmokeWallpapers.odex
MediaUploader.apk
Mms.apk
Mms.odex
MoiMoi.apk
MoiMoi.odex
MoimoiClockWidget.apk
MoimoiClockWidget.odex
Music2.apk
MusicFX.apk
MusicFX.odex
MusicPicker.apk
MusicPicker.odex
MyFontApp.apk
MyFontApp.odex
NX_Input.apk
NX_input_Chinese.apk
NX_input_Korea.apk
PasswordManager.apk
PasswordManager.odex
PedometerProvider.apk
PedometerProvider.odex
PedometerWidget.apk
PedometerWidget.odex
PhonebookEasyMovingService.apk
PhonebookEasyMovingService.odex
Phonesky.apk
PhotoSealWidget.apk
PhotoSealWidget.odex
PhotoWallPaper.apk
PhotoWallPaper.odex
PlusOne.apk
PowerSave.apk
PowerSave.odex
PrivacyImageSetting.apk
PrivacyImageSetting.odex
PrivacyModeSettings.apk
PrivacyModeSettings.odex
Protips.apk
Protips.odex
QuickCallWidget.apk
SDCardBackup.apk
ScanService.apk
Schedulememo.apk
SimpleClockWidget.apk
SimpleClockWidget.odex
SimplePedometerWidget.apk
SimplePedometerWidget.odex
SlideInLauncher.apk
SlideInLauncher.odex
StoreApp_fw_ics.apk
Talk.apk
TransferSupport.apk
TransferSupport.odex
Videos.apk
VisualizationWallpapers.apk
VisualizationWallpapers.odex
VoiceInput.apk
VpnDialogs.apk
VpnDialogs.odex
Wallpaper2_800x480.apk
WeatherWidget.apk
WeatherWidget.odex
YouTube.apk
androidLog_20120522_zipaligned.apk
aoss.apk
aoss.odex
autogps.apk
dcm_location_noicon.apk
dcm_location_sub.apk
dmenu.apk
docomoAccountAuthenticator.apk
docomo_remote.apk
docomoset.apk
iConcier.apk
jp.co.nttdocomo.docomo_WiFi.preinstall_2.0.3.apk
rspermntt_Fujitsu.apk
saigaiban-3a-ver4.0.0.apk

framework.odexのカスタマイズ

MVNO SIM利用時のセルスタンバイ対策や、テザリング時のAPN強制変更対策をするにはframework.odexのカスタマイズが必要になってきます
カスタマイズ時の手順についてのメモです

0.準備
・端末へbusyboxのインストール
Google PlayからBusybox Installerをインストール
起動して、Busyboxをインストール

・dexopt-wrapperを入手
http://forum.xda-developers.com/showpost.php?p=3864655&postcount=36 このあたり

・smali,baksmaliを入手
https://code.google.com/p/smali/ このあたり

・7za.exeの入手
http://www.7-zip.org/ このあたり

・javaのインストール
http://java.com/ja/download/ このあたり

・adb接続
USB Driverのインストールとadb接続 F-11D編を参照

1.端末からカスタマイズに必要なファイルをダウンロード
C:\> mkdir framework
C:\> cd framework
C:\framework> adb pull /system/framework/framework.jar .
C:\framework> adb pull /system/framework/framework.odex .
C:\framework> adb pull /system/framework/bouncycastle.odex .
C:\framework> adb pull /system/framework/core.odex .
C:\framework> adb pull /system/framework/core-junit.odex .
C:\framework> adb pull /system/framework/ext.odex .

2.逆アセンブラ
C:\framework> java -jar baksmali-1.3.2.jar -c:core-junit.odex -x framework.odex

3.編集
・テザリング時のAPN固定対策
out\com\android\internal\telephony\gsm\GsmDataConnectionTracker.smali
を編集して、MVNO SIM時の挙動をdocomo以外のSIMを刺した場合と同等にする

・セルスタンバイ対策
out\com\android\internal\telephony\gsm\GsmServiceStateTracker.smali
を編集して、searching,registration deniedの際の挙動をin serviceと同等にする

4.classes.dexをframework.jarに統合
C:\framework> 7za u -tzip framework.jar classes.dex

5.端末にframework.jarとodexへの変換プログラムを転送
C:\framework> adb push framework.jar /data/local/tmp/framework.jar
C:\framework> adb push dexopt-wrapper /data/local/tmp/
C:\framework> adb shell chmod 755 /data/local/tmp/dexopt-wrapper

6.端末上で変換
C:\framework> adb shell
shell@android:/ $ cd /data/local/tmp
shell@android:/ $ ./dexopt-wrapper framework.jar framework.odex

7.署名をコピー
shell@android:/ $ busybox dd if=/system/framework/framework.odex of=framework.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

8.既存framework.odexのバックアップと、置換
shell@android:/ $ su
shell@android:/ # busybox cp /system/framework/framework.odex{,.YYYYMMDD}
shell@android:/ # busybox cp framework.odex /system/framework/framework.odex

9.再起動
shell@android:/ # reboot

ndk-build環境を整える・・・Windows7 64bitの場合

1.Android NDKをダウンロードして解凍
http://developer.android.com/tools/sdk/ndk/index.html#Downloads
のあたりからandroid-ndk-r8e-windows-x86_64.zipとかをダウンロードしてきて適当な場所へ解凍

2.PATHの追加
C:\android-ndk-r8eに解凍した場合
コンピュータのプロパティ→システムの詳細設定→環境変数→システムの環境変数→Path→編集 で
C:\android-ndk-r8e
を追加


3.バージョン確認
C:\>ndk-build -v
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i586-pc-mingw32

使えるようになってますね