マウントを切る
#grep -a -A800 -B800 ‘soldier’ /dev/sda2 | strings > recovered_file
http://www.linuxquestions.org/questions/linux-general-1/how-to-recover-overwritten-file-774712/
マウントを切る
#grep -a -A800 -B800 ‘soldier’ /dev/sda2 | strings > recovered_file
http://www.linuxquestions.org/questions/linux-general-1/how-to-recover-overwritten-file-774712/
WebView でリダイレクトではなくユーザクリックのみを飛ばしたい場合、
下記のようにするといいようです。
<pre><code>mWebView.setWebViewClient(new WebViewClient() { </code></pre>
<pre> public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(view.getHitTestResult().getType() > 0){
// ユーザが自分でクリック参照したページ
return true;
} else {
// クリックされなかったのでリダイレクトとみなす。
return false;
}
}
<span class="Apple-style-span" style="font-family: monospace;">}</span></pre>
Pure-FTPd を使っていると、WordPress (3.0以降?)のweb管理コンソールからのプラグイン更新やインストールなどが機能しないようです。
define(“FTP_METHOD”,”ftpsockets”); としている場合、
Downloading update from <a href="http://downloads.wordpress.org/plugin/akismet.2.5.2.zip">http://downloads.wordpress.org/plugin/akismet.2.5.2.zip</a>… Unpacking the update… Warning: Invalid argument supplied for foreach() in /path/to/wordpress/wp-admin/includes/class-wp-filesystem-ftpsockets.php on line 299 Could not copy file. /path/to/wordpress/wp-content/upgrade/akismet.tmp/"
というエラーになり、
define(“FTP_METHOD”,”ftpext”); としている場合も別のエラーが出て失敗してしまいます。
フォーラムを探したところ、対応方法は
の2通りに分かれている様子。
suPHPを使うと他のPHPスクリプトにまで影響が出てしまうため避けたい。
ということで、今回はPureFTPdとは別ポートで ProFTPd をインストールし、ProFTPd はローカルアクセス専用として配置することで対応しました。
最終的なwp-config.php の設定はこんな感じです。
define(‘FS_METHOD’, ‘ftpext’);
define(‘FTP_BASE’, ‘/path/to/wordpress/’); // FTPで見た時のWordPress設置フォルダのパス( / で終わる)
define(‘FTP_CONTENT_DIR’, FTP_BASE.’wp-content’);
define(‘FTP_PLUGIN_DIR’, FTP_BASE.’wp-content/plugins’);
define(‘FTP_USER’, ‘username’); // ProFTPdのログインユーザ名
define(‘FTP_PASS’, ‘password’); // ProFTPdのログインパスワード
define(‘FTP_HOST’, ‘localhost:2211’); // ポートに2211番を使用
[/code]
参考:
既存のWindows環境を残しつつUbuntuを導入する場合、Ubuntu 公式の Windows インストーラ(Wubi)が便利です。
リンク先の「Run it with Windows」からダウンロードできます。
普通のWindowsプログラムのインストーラと同じようにインストールでき、アンインストール時も「プログラムの追加と削除」メニューから安全に削除できます。
– 参考:
WindowsXPでお手軽Ubuntu
Google I/O 2011 でもらった Samsung Galaxy Tab 10.1 LE について、はまったことのメモなど。
公式twitterクライアント, twicca, TweetDeck など何を使ってもログイン出来ないという現象が発生していました(ブラウザログインなら可)。
原因は初回起動時の設定で時刻の自動同期をオフにしていたことです。明示的に時刻設定するのをやめて自動同期をオンにし、タイムゾーン設定だけすればアプリからもログインできるようになります。
初期化設定画面でしかこの設定を変えられないため、再設定には「設定→プライバシー→出荷時の状態に戻す」で、一度工場出荷時の状態に戻す必要があります。
電源ボタンを押す時に、ボリュームボタンを押しているとfastbootブートモードやファームウェア書き換えモードに入ります。Upload Modeや Emergency Download Mode といった画面で固まってしまう事があります。
電源ボタンとボリュームボタン上下を同時に5秒以上の長押しすると直る事が多いようですが、どのボタンを押しても無反応なケースもあるため、対応方法を紹介します。
ちなみに無反応で電源ボタンも効かずバッテリーも外せずどうしようもなくなっても、電池切れになれば再起動できるから安心、と思いきや。xdaフォーラムによると、電池切れを待って再起動しても同じ画面に戻ってしまうようです…。
そんな場合の解決方法はこちら。
Windowsしかない場合はUbuntuのダウンロードページにある、Windows installer を使うと簡単にインストールできます。
/etc/udev/rules.d/*.rules に samsung 用のデバイス設定を記述します。Macの場合は設定不要です。
/etc/udev/rules.d/51-android-samsung.rules
SUBSYSTEM==”usb”, SYSFS{idVendor}==”04e8″, MODE=”0666″
(イコール”=”は半角記号に直して下さい)
SDKに含まれるfastbootプログラムを使います。fastbootはplatform-toolsフォルダ以下に含まれています。
※注意:fastboot -w で、端末中の全てのユーザデータが消えます。
<SDKのパス>/platform-tools/fastboot -w <SDKのパス>/platform-tools/fastboot reboot
実行後「waiting for device」で固まる場合は端末がデバイスとして認識されていません。この場合はちゃんとUSB接続しているか、設定ファイルが正しいかを確認して下さい。
参考:

Android スマートフォンの隠しコマンド一覧です。
コードを試すには電話番号の入力画面から、電話をかける要領で入力してください。
入力が完了すると自動で画面が切り替わります。
ほとんどの機種で利用出来ると思いますが、対応していないコードだった場合は入力文字がリセットされるだけで何もおこりません。また、性質上緊急電話モードでは利用できないようになっているようです。画面ロックしている場合はロック解除後に使用してください。
なお、熟練ユーザ向けの裏技的な機能ですので、操作を誤ると携帯が使えなくなるおそれがあります。知識のない方は決して使用しないでください。
*#06#
IMEI,MEIDなど携帯端末識別番号を表示します。
*#*#4636#*#*
電話端末情報、電波や電池の状態を表示します。
・携帯電話情報(Phone Information)
→ IMEI,電話番号,電波状況,pingテストなど。
・電池情報(Battery Information)
→電池残量、電圧、稼働時間など。
・充電池データ(Battery history)
→ バッテリ使用率の統計。
・使用統計情報(Usage statistics)
→ アプリごとの起動回数、使用時間などの統計。
・WiFi情報(Wifi information)
→ WiFiのAPIを直接実行できる。
*#*#8255#*#*
GTalkサービスモニターを開きます。
こちら他にも隠しコードが紹介されています。機種依存で動かないコードや工場リセットなどの危険なコードもあるので実行する場合はくれぐれも注意してください。
docomoな方向けにこんな記事も書きました。
知らないと損!なドコモWIFI の使い方(PC/IPHONE/ANDROID)
いつも通信制限で困ってる方、外でのインターネット環境にお困りの方にはお役立ち情報です。
裏技つながりで、こういうのもあります。
ドコモユーザ必見、2年に1回、必ずdポイントを大量ゲットできる裏技
よければ読んでみてくださいね。
参考:
AsyncTask の中でブレークポイントを設定する場合は、doInBackground() の最初で
android.os.Debug.waitForDebugger();
を呼ぶ必要があります。
呼ばないとブレークポイントを無視してしまいます。
デバッガが居なくても以外もwaitForDebugger()で処理を停止してしまうので、
デバッグ実行が終わったらちゃんとコメントアウトしましょう。
#謎の不具合で丸一日はまった…
参考:
Debug#waitForDebugger())
Android マーケットではSIMカードのキャリアで公開対象をフィルタリングすることができます。
■制限している例(2011-04-12現在):
– S-1バトル(Softbank限定)
– Skype(公開当初はau限定だった)
– spモードメールアプリ(NTTドコモ限定)
方法は簡単で、デベロッパーコンソール(Developer Console)からアプリapkをアップロードする際に以下の手順で設定します。
1.公開設定のオプション(Publishing options)内の「すべての国(All Country)」のチェックを外す。
2.制限対象国(日本)のリンクをクリック。
3.公開したい携帯キャリアだけにチェックをいれる。
設定したスクリーンショットがこちらになります。
簡単ですね。
その他のフィルタリング設定についてはマニュアルのMarket Filter(日本語訳)の項目が参考になります。
参考:
– carrier targeting of apps(Android Developers)
ある時からMercurial Eclipse(v1.8)でコミットをしようとするとnot under rootというエラーが出るようになりました。
原因をググってみるとどうやら Android のライブラリプロジェクトとメインプロジェクトの両方でMercurialを使っていると出るらしい。
解決方法はAndroidライブラリの依存チェックを外すか、どちらかのリポジトリを切断するかで、どちらも場当たり的なのが悩ましい…。
参考として、スタックトレースは以下の通りでした(MercurialEclipse バージョン 1.8.0.v201103281715 で確認)
!ENTRY com.vectrace.MercurialEclipse 4 0 2011-04-11 12:24:47.074
!MESSAGE 中断: c:\path\to\android_project_dir not under root. コマンド行: c:\path\to\android_library_project_dir\hg -y status -marduc — c:\path\to\android_project_dir, error code: -1
!STACK 1
中断: D:\usr\eclipse\net.canp.android.purigaget not under root. コマンド行: D:\usr\eclipse\net.canp.android.common\hg -y status -marduc — D:\usr\eclipse\net.canp.android.purigaget, error code: -1
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToStream(AbstractShellCommand.java:405)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToBytes(AbstractShellCommand.java:348)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToString(AbstractShellCommand.java:548)
at com.vectrace.MercurialEclipse.commands.AbstractShellCommand.executeToString(AbstractShellCommand.java:544)
at com.vectrace.MercurialEclipse.commands.HgStatusClient.getStatusWithoutIgnored(HgStatusClient.java:154)
at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache.updateStatusInRoot(MercurialStatusCache.java:1333)
at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache.refreshStatus(MercurialStatusCache.java:1287)
at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache.access$0(MercurialStatusCache.java:1273)
at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache$ProjectUpdateJob.updateProject(MercurialStatusCache.java:144)
at com.vectrace.MercurialEclipse.team.cache.MercurialStatusCache$ProjectUpdateJob.run(MercurialStatusCache.java:126)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SUBENTRY 1 com.vectrace.MercurialEclipse 4 -1 2011-04-11 12:24:47.074
!MESSAGE 中断: c:\path\to\android_project_dir not under root. コマンド行: c:\path\to\android_library_project_dir\hg -y status -marduc — c:\path\to\android_project_dir
参考:
– MercurialEclipseでちょっと困った(Naga Blog)
com.google.android.maps.MapView 周りで
android.view.InflateException: Binary XML file line #103: Error inflating class com.google.android.maps.MapView
<
<
のようなエラー等が出る場合、次の原因が考えられます。
– MapView を使う Activity で MapActivity を継承していない。
– AndroidManifest.xml の <application> タグ内で<uses-library android:name=”com.google.android.maps” />
を定義していない。