2012/12/26

Win7 システムイメージから復元する際に外部ストレージが見えない

(※本稿は作業ログです)

Windows7のWindowsBackupでバックアップファイルの保存先をUSB外付けディスクドライブとして、システムイメージ含めてまるごとバックアップした。
その後、「高度な回復方法」から回復をしようとしたところ、外付けドライブを認識しないために復元ができなかった。


原因は、USB3.0のドライバがインストールされていなかったためだ。
回復する際、復元ウィザードの過程でPCが再起動し、サードパーティのドライバがインストールされない等の特別な状態(回復モード?)で、システムの回復元となるバックアップファイルを指定する。
この時、USB3.0のドライバは自動的にはインストールされていないので、外付けドライブが認識されず、ドライブ内のバックアップファイルが見つからなかった。
だから、手動でUSB3.0のドライバをインストールしてやればいい。

参考にしたサイト[1]では、nusb3hub.inf,nusb3xhc.infという2つのドライバ設定ファイルをインストールしていたが、私の場合はiusb3hub.inf,iusb3xhc.infというファイルのインストールが必要だった。
これらのファイルは通常時に普通に使えている外付USBドライブならば、すでにPC内に存在する。
下記ディレクトリにはインストールされているドライバが格納されているので、ここから探して取得する事ができる。
C:\Windows\System32\DriverStore\FileRepository
もしなかったとしても、メーカーサイトからダウンロードすればいい。
このinfファイルをCドライブ直下などドライバがインストールされない状態(回復モード?)でも見える場所にコピーしておく。

以下、再起動後の画面(回復モード?)での操作手順である。

1.ドライバファイルがインストールされない状態(回復モード?)の画面において、「次へ」をクリック。

2.「詳細設定」をクリック


3.「OK」をクリック

4.「ドライバーをインストールする」をクリック

5.保存していたドライバファイル(iusb3hub.inf)を選択して「開く」をクリック

6.「ドライバーの追加」をクリック(2~6をiusb3xhc.infについても繰り返す)

7.「戻る」をクリック


8.外付けドライブが見えるようになり、バックアップファイルが見つかる。「次へ」をクリックして復元を開始

参照したURL

12/12/26に参照した。

  1. Windows7 forums|Windows 7 - Problem recoverying from backup via USB 3.0 external drive<http://www.sevenforums.com/backup-restore/195068-problem-recoverying-backup-via-usb-3-0-external-drive.html>

2012/12/12

Eclipseでvim

(※本稿は作業ログです)

Eclipseでvimを使うにはvrapperというアドオンを使えばいい。
さらに~/.vrapperrcファイルに設定を書き込んでカスタマイズすることもできる。
しかし、普通の設定ファイルvimrcなどをコピーしても、Eclipse起動後ステータスバーに"-- vrapper disabled --"と表示され、うまく機能しない。
専用の記述が必要なようだ。
こちらの方[1]などの設定ファイルをコピーして使用した。
また、インサートモードからノーマルモードに移った際、全角入力から半角入力に自動的に変更させるため、設定ファイルに下記の行を追加した。

set imdisable 1

これについての詳細はこちらのページ[2]に記載がある。

参照したURL

すべて12/12/12に参照した。
  1. はてなブックマーク | derisの日記 vrapperrcを晒してみる<http://d.hatena.ne.jp/deris/20110130/1296402960>
  2. はてなブックマーク | vrapper でインサートモードから抜ける際に ime を off にする<http://d.hatena.ne.jp/basyura/touch/20110919/p1>

2012/12/09

EclipseでEUC-JPを使うには

EclipseでファイルのエンコーディングをEUC-JPにしようとしたところ、選択肢にEUC-JPがない。
こちらのページ[1]の通り、プルダウンに直接"EUC-JP"と打ち込むと設定できる。
(※本稿は作業ログです)

参照したURL

12/12/09に参照した

  1. EclipseでEUC-JPを使うには<http://blog.suz-lab.com/2008/05/eclipseeuc-jp.html>

2012/12/08

Android開発 - Googleカレンダーの情報を取得

Googleカレンダーからデータを出し入れするアプリを作りたい。
まずはGoogleカレンダーにアクセスするアプリを作ろう。
(※本稿は作業ログです)

まったく内容を理解しないまま、こちらのページ(*1)のコードをコピーして走らせた。

実行にはAndroidManifest.xmlに下記のパーミッションを追加する必要があった。

<uses-permission
  android:name="android.permission.READ_CALENDAR"/>
<uses-permission
   android:name="android.permission.WRITE_CALENDAR"/>


また、私の環境だと、CalendarListFragment.javaの97,98行目は下記のようにしないとエラーとなってしまった。

public void onLoadFinished(Loader loader, Object data) {
mAdapter.swapCursor((Cursor)data);


参照したURL

すべて12/12/08に参照した

  1. smartphone-Zine CalendarAPIを使用したアプリケーションの作成方法<http://smartphone-zine.com/mobile/google-calendar-app-sourc.html>

GitHub with Eclipse - gitignoreファイルとcloneからプロジェクトを作る

EclipseでGitHubを使う際に困ったことを二つほど。
(※本稿は作業ログです。)


  • .gitignoreファイルの作成
  • GitHub上のプロジェクトをcloneでダウンロードし、新しいプロジェクトをEclipseで作成


.gitignoreファイルの作成

binフォルダ内のファイルなど、頻繁に変更されかつファイルが失われても再作成が可能なファイルは普通バージョン管理外に置くと思う。
gitで無視するファイルを指定するには、ワーキングフォルダのトップに置かれているgitignoreファイルに記載することだ。
.gitignoreファイルは、こちら(*1)を真似した。
ただ、Eclipseのプロジェクトファイルも同期するため、下記の行はコメントアウトした。

# Eclipse project files
.classpath
.project

これは、後述するcloneからEclipseプロジェクトを開始する場合に必要だから。

GitHub上のプロジェクトをcloneでダウンロードし、新しいプロジェクトをEclipseで作成

こちらのページ(*2)を参考にして行った。
前述のとおりEclipseのプロジェクトファイルも同期していれば問題なくできる。

参照したURL

すべて12/12/08に参照した


  1. GitHub gitignore/Android.gitignore allonhadaya<https://github.com/github/gitignore/blob/master/Android.gitignore>
  2. vogella.com Git with Eclipse (EGit) - Tutorial<http://www.vogella.com/articles/EGit/article.html#clone_respository>

2012/12/06

GitHub with Eclipse

スマホアプリを作るためにEclipseでもGitHubにアップロードできるようにした。
(※本稿は作業ログです)

  • EclipseにEgitをインストール
  • EclipseでGitHubにファイルをアップロードする
  • EclipseでGitHubからファイルをダウンロードする

EclipseにEgitをインストール

Eclipse all in Oneをインストールしているなら、最初からインストールされているはず。

EclipseでGitHubにファイルをアップロードする

ファイルをリモートサーバのリポジトリにアップロードすることをgitではpushという。
EgitのウェブヘルプのGitHubの項(*1)にしたがって実施する。
sshで接続をしようとしたところ、下記のエラーメッセージが表示され、次のダイアログが操作できなかったので、sshは諦め、httpsで接続することにした。
Cannot get remote repository refs.
Reason:
ssh://git@github.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'github.com' can't be established.
RSA key fingerprint is …
Are you sure you want to continue connecting?
ssh://git@github.com:22: org.eclipse.jgit.transport.CredentialItem$YesNoType:The authenticity of host 'github.com' can't be established.
RSA key fingerprint is …
Are you sure you want to continue connecting?
また、最初にGitHub側でプロジェクトを作成する際、"initialize this repository with a README"を選択してREADMEを作ってしまうと、このREADMEを作ったこと自体が最初のコミットとなってしまい、
GitHub 新しいリポジトリを作る(GitHub.comより引用)
Eclipseからpushしようとするとコミットの競合が起こってしまう。
pushすると競合する(Eclipseより引用)
強制的にpushすることも可能だろうが、READMEを作らなければ回避できる。

*********12/12/08追記*********
Egitで管理すると、プロジェクトのワーキングフォルダが~/workspaceからgitリポジトリに移動される。気持ち悪いが、このページ(*3)を見るに、慣れろということらしい。そして関連するプロジェクトは一つのリポジトリで管理せよともある。

Egitでの管理開始時に、名前の解決がうまくいかないことがあるが再起動すれば直る。リポジトリに登録したらEclipseを立ち上げなおすことが必要そうだ。
*********12/12/08追記ここまで*********

EclipseでGitHubからファイルをダウンロードする

ファイルをリモートサーバのリポジトリからダウンロードすることをgitではpullという。
Eclipseでプロジェクトを右クリックし、コンテンツメニューでTeam>Pullを選択すればよい。
しかし最初のままでは下記のエラーが発生する。

The current branch is not configured for pull
No value for key branch.master.merge found in configuration

こちらのサイト(*2)を参考にして対応した。
しかし、さらに下記のエラーが表示された。

The current branch is not configured for pull
No value for key remote.origin.url found in configuration

指示通り、key"remote.origin.url"を先の対応と同様に.git/configに追加する。値はGitHubのプロジェクトのリポジトリへのuriである。
さらに、Package Explorerからプロジェクトを右クリックし、コンテンツメニューからTeam>remote>Configure fetch from upstreamを選択する。
ダイアログが表示されるので"Add"をクリック。
Configreダイアログでaddをクリック(Eclipseより引用)
fetch/pullするブランチ名を入力する。通常はmaster。
"master"と入力すると自動的に補完される(Eclipseより引用)
その他はこのままで"next","finish","save"。
これでpullの準備ができた。
Package Explorerからプロジェクトを右クリックし、コンテンツメニューからTeam>Pullを選択すればファイルがダウンロードできる。
ただ、新しいブランチを作る際にコンフィグを変更しなければならないかもしれない。
ということで、上記は正しいやり方でないかもしれないことをご了承願う。

参照したURL

1.と2.は12/12/06に参照した。3.は12/12/08に参照した

  1. Egit/User Guitde<http://wiki.eclipse.org/EGit/User_Guide#GitHub_Tutorial>
  2. mooapp iPhone App "Morve"の開発・サポートサイトです。<http://moomindani.wordpress.com/2012/09/10/eclipse-4-2xegit%E7%92%B0%E5%A2%83%E3%81%A7pushpull%E3%81%AE%E3%83%8F%E3%83%9E%E3%82%8A%E3%81%A9%E3%81%93%E3%82%8D%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%99%E3%82%8B/>
  3. stack Overflow Should I store git repository in Home or Eclipse Workspace?
    <http://stackoverflow.com/questions/7685246/should-i-store-git-repository-in-home-or-eclipse-workspace>



2012/12/05

GitHub 事始め

「GitHubに上げてるから良かったら見て」
そうカッコつけて言いたいがために。
GitHubをやってみる。

(※本稿は作業ログです)

PCでGitHubにソースをアップできるようにする。
さらに、PhpStormを使って、GitHubにソースをアップロードできるようにする。
  • GUIのGitHubクライアントのインストールと設定
  • PhpStormでGitHubと同期

GUIのGitHubクライアントのインストールと設定

GitHubの公式サイト(*1)でアカウントを登録する。GitHubのWindows用のソフトウェアがGitHub公式サイトからダウンロードできるので、ダウンロードしてインストール。アップしたソースコードはデフォルトで公開される。非公開にしたければ毎月$6の料金の支払いが必要だ。ビジネスで使うため、私は支払って、非公開とした。
なお、後述するPhpStormで同期するリポジトリについては、混乱するようなのでこのソフトでは同期しない。

PhpStormでGitHubと同期

PhpStormはコマンドラインのGitクライアントを使う。そのため、Gitの公式サイト(*2)からクライアントアプリをダウンロードし、インストールする。
PhpStormのsettingsからVersionControl>Gitの箇所で、gitの実行パスを指定する。
PhpStormのVCS>Import into Version Control>Share Project on GitHubを選択し、GitHubにアップロードする。gitはcommitのあとPushを行う必要が有ることに注意する。
以降は変更するたびにVCS>Commit Changes ...を選択し、commit and pushを実行すれば良い。

参照したURL

すべて2012/12/05参照

  1. GitHub・Social Coding<https://github.com/>
  2. Git<http://git-scm.com/>
  3. PhpStorm web help<http://www.jetbrains.com/phpstorm/webhelp/getting-help.html>

2012/11/16

Xperia Arc unlock bootloader,root,ICS


先日Xperia Arc(以下arc)をroot化、ICS化した。
今日は恩恵を預かるべく、色々と試そうとしたところ、オーバークロック(以下OC)というものがあることを知る。これはいい!と試したが、どうやら更にunlock bootloaderというもうひとつ超えないと行けない関門、もとい作業があるようだ。しかも手元にあるarcの場合、どうやっても金を払わないとできないらしい…。1500円をかける価値がarcのOCにあるのだろうか…などと考えて10時間。バイト代にしても1万はいった。ここで戻れば1万分の苦悩とスーパーハカーへの道が失われる!ということで、金払いました。以下root化、ICS化、unlock bootloader化+アルファした作業ログ。先日の作業は知識以外無為に。下記が実施した作業。

  • unlock bootloader,ICS,root化,丸ごとバックアップできるようにする
  • 日本語フォント入れ替え
  • ホーム画面を3画面にする
  • 要らないアプリを削除する
  • 通知領域に各種トグルボタンを追加、再起動ボタンを追加

unlock bootloader,ICS,root化,丸ごとバックアップできるようにする

まずはbootloaderをunlockしなければならないのだが、ここでカネがかかる。こちら(参照したURL1)を参考にした。unlockするためのサービスはいくつかのサイトでやっているのだが、Omuniusを利用した。1500円くらいでOmnius Android Single Unlockライセンスを購入し、実施。
その後、ICS,root化、丸ごとバックアップできるよう、こちら(参照したURL2)のサイトを参考にして作業を実施。何故かsdhc規格の32GBsdカードだとバックアップファイルがリブート時に消えてしまうので、1GBのsdカードを使った。

日本語フォント入れ替え

こちら(参照したURL3)のサイトを参考にした。ファイルの移動と"fallback_fonts.xml"の編集はESエクスプローラーというアプリを使った。最初うまく行かず。何回かやるうちに成功。次の順序でやれば成功すると思われる。1.fallback_fonts.xmlを編集。追加するフォント名は"DroidSansFallback.ttf"の前に追加する。2.sdカード内にフォントファイルを"DroidSansJapanese.ttf"で保存。3.ESエクスプローラーで保存したファイルを"/system/fonts"フォルダに移動。すると自動的に再起動がかかるか、自分で再起動する。

ホーム画面を3画面にする

こちら(参照したURL4)のサイトを参考にした。
HomeCustomizer for SONY ICS ROMsというホームアプリをインストールした。インストールの手順は以下のとおり。まずHomeCustomizerをダウンロードする。ダウンロードしたファイルをPC上で実行するとコマンドプロンプトが立ち上がり、ホーム画面数などを訊いてくるので、答えるとカスタマイズされたホームアプリが出来上がる。出来上がったディレクトリのうち、"system~app…"と続くフォルダだけを、sdカードの直下に作った"custom"フォルダに入れる。移動するフォルダの名前は変えてはいけないし、customフォルダの場所と名前も同一である必要がある。次に、busyboxというアプリをarcにインストールする。このアプリはgrepなど基本的なshellが入っている。アプリをインストールするだけでなく、アプリを起動してシェルのインストールも必要だ。次にSManagerというシェルを実行するアプリをインストールする。そして、先程移動した"system~app…"の下の"AndroidFilesInstaller.sh"をroot権限で実行。auto-installを選び、インストール完了。

要らないアプリを削除する

これはTitanium Backupという無償のアプリで対応。ちなみに、有料版のTitaniumu Backupを使うとGoogleドキュメントにもバックアップできるので、有料版を買った。

通知領域に各種トグルボタンを追加、再起動ボタンを追加

こちらの(参照したURL5)のページからプログラムをダウンロードした。
インストールはClockWorkModを用いて行う。Android4.0.4用だが、4.0.3に当てても一応動いた。一部、時間表示が年月日も表示しようとすると変になってしまうのと、「エラーを検証しています」とちらっと見えるなど、不具合もあった。

参照したURL

すべて2012/11/14参照

  1. うなのまとまりのない日常ブログ"【Android】Xperia arcブートローダーアンロックとroot化"<http://unaandroiduse.blog.fc2.com/blog-entry-28.html>
  2. 双子のパパの趣味の世界"Xperia arc (SO-01C)をAndroid4.0化 覚書"<http://blog.livedoor.jp/kazukou_21015/archives/65650765.html>
  3. mmasashi.js"Android 4.0 ICS のフォント入れ替え"<http://mmasashi-js.blogspot.jp/2012/06/android-40-ics-font-replacement.html>
  4. そぉいがぁ?"ICSなarcを自分流に part1"<http://soigar.jp/2012/10/04/ics%E3%81%AAarc%E3%82%92%E8%87%AA%E5%88%86%E6%B5%81%E3%81%AB>
  5. xdadevelopers"[Outstanding] Colored SystemUI + Quickpanelsettings for ICS/GB + Cool Lockscreen"
  6. <http://forum.xda-developers.com/showthread.php?t=1686586>




2012/11/13

ニコ生 配信の仕方

ニコ生を配信するためにセットアップした作業ログ。

経緯

以前からニコ生配信していたが、ノートPCで野外配信することに。

用意するもの

[必須]

  • ネットが使えるPC…ネットはテザリング端末を接続しました。OSは7。
  • ニコ動プレミアム会員アカウント…プレミアム会員でないとできません。
  • Niconico Live Encoder(NLE)…ニコ生配信ソフト。(参照URL1)


[任意]

  • namaroku、namarokuRecoder…配信した動画とコメを録画するソフト。(参照URL2)
  • rtmpdump…namarokuで必要なプログラム。namarokuに最初から入っているものを、ユーザー生放送に対応したものと取り替える。(参照URL3)
  • Niconama Visual Station(NVS)…映像中に文字列を表示するソフト。(参照URL4)
  • PITACore…コメントビューアー、コメント読み上げ、配信枠自動取得に必要です。が、今は公式サイトから配布が中止されたようです。PITACore Boxという新しいバージョン(参照URL5)もありますが、現時点では不安定のようなので使用を見送りました。以前にダウンロードしてあったPITACoreを使用しました。
  • インターネットブラウザ…Pita Coreで利用します。Firefoxを使用しました。Chromeでやりたかったのですが、うまく行かず断念。


設定手順

namarokuに配信するコミュニティを登録します。これでnamaroku起動中に当該コミュニティで配信が開始したら自動的に保存してくれます。namarokuRecoderについても、設定します。
NLEを設定します。起動時に自動的にログインしてくれるようにしました。
NVSを設定します。NLEを開いた状態でNVSを起動し、NVSの出力画面を「Webカメラ」としてNLE側で取得します。NLEでのウェブ画面や文字列や画像の配置の操作は、癖があります。なお、NVSはいつもNLEの起動時に起動しているようにしてください。そうしないと、NLE側の設定が初期化されると思います。
PITAcoreを設定します。連続して枠をとること、次枠をすることを自動案内すること、コメントを読み上げることを設定します。

配信

各アプリケーションの起動順序は、namaroku,NVS,NLE,Firefox,PITAcoreです。Firefoxでニコ動にログインし、PITAcoreで枠を取得すれば、自動的にNLEが配信開始します。

参照URL

参考した日は投稿日前数日です。
  1. ニワンゴ"Niconico Live Encoderとは"<live.nicovideo.jp/encoder/>
  2. ニワンゴ ニコニコミュニティ"名無しコミュ"<http://com.nicovideo.jp/community/co310049>
  3. Livedoorblog"初音光ex"<http://blog.livedoor.jp/hatsunex/archives/17420733.html>
  4. "Niconama Visual Station"<http://syn-k.sakura.ne.jp/nvs/>
  5. ニワンゴ ニコニコミュニティ"PITA Core Box"<http://com.nicovideo.jp/community/co25623>

2012/11/12

Xperia Arc root化 Android4.0(ICS)化

概要

Xperia Arcをroot化してAndroid4.0化しました。
この記事は作業ログです。

経緯

Xperia Arc(SO-01C)を友人から譲ってもらいました。root化してAndroid4.0化しようと思いました。
root化するのは、最初から入っていて、アンインストールできないアプリが大量にあったためです。
Android4.0(開発コードICS:IceCreamSandwitch)化するのは面白そうだからです。chromeも使えるようになりますし。
ICSにする前にAndroid 2.3(開発コードGB:GingerBread)の状態でroot化をやりました。ICSにした後はroot化ができないとの情報もありますし (*1)、私も先にICSにしてしまったのですが、ICSだとadbドライバが正常に働かず、root化しようにもできないという状況があったためです。 ですので、一度ICSからGBに戻し、root化してからICSにしました。

root化Android4.0化手順

GBでroot化してから、 ICSにします。
こちら(*1)のページを参考に実施しました。


root化にはzergRushというソフトを使いました。
zergRushはダウンロードする際、ウィルス対策ソフト(ESET)によってマルウェアとみなされ、隔離されてしまいましたので、一時的にウィルス対策を解除してダウンロード&実行しました。

Android4.0化において、最初に使用するファイル群XperiaRoot.rev3については、こちら(*2)のページから取得先を得ました。Android4.0化も無事完了。

しかし、Android4.0にした後、最後にroot化するため、 02-push-root-files.comというのを実行するのですが、途中でストップして進まない。別のPCで実施したところ、成功した。
おそらく、一連の作業の前に誤ってXperia Arc Sのドライバが入ってしまったのだと思う。

10時間かけてどうにかroot化Android4.0化に成功。

参照したウェブページ

  1. Xperia mini Pro(SK17a)にICSアップデート&root化 適用!<http://www.kitcat.jp/blog/2012/06/xperia-mini-proics.html>
  2. xdadevelopers "[04/Jan][ROOTING/UNROOTING] Xperia 2011 Easy Rooting Toolkit [v4.0](zergRush Exploit)"<http://forum.xda-developers.com/showthread.php?t=1320350>

--
*1:Xperia mini Pro(SK17a)にICSアップデート&root化 適用!<http://www.kitcat.jp/blog/2012/06/xperia-mini-proics.html>
*2:Xperia Mini Pro SK17i、ICS root化<http://form20120307.blogspot.jp/2012/06/xperia-mini-pro-sk17iics-root.html>