Friday, May 31, 2013

Android Studioでエミュレータのhosts変更

開発等でエミュレータのhostsを書き換えたいとき


エミュレータの起動オプションを追加設定

[Run]→[Edit Configurations...]
を開き
[Emulator]タブを選択
[Additional command line options]にチェックを入れ
-partition-size 512
と入力
(他のサイトを参照すると128でも良さそうだったのだが、上手くいかなかったため512を設定)
[OK]を押して終了


エミュレータ内のhosts書き換え

あらかじめadbのpathを通しておく
$ export PATH=$PATH:/Applications/Android\ Studio.app/sdk/platform-tools

エミュレータを普通にRunして、remount(エミュレータの /system 以下を読み書き可にする)
$ adb remount
このときエラーが出る場合がある
error: device offline
→ デバイスがConnectされてない、もう一度Runしてみる
error: more than one device and emulator
→ 2台以上のデバイス&エミュレータがConnectされているので1つにする

エミュレータのhostsを取得(必要なら)
$ adb pull /system/etc/hosts ~/hosts

エミュレータのhostsを置き換える
$ adb push ~/hosts /system/etc/hosts
上記の起動オプションを設定しなかった場合、ここで以下のエラーが出てしまう
failed to copy '/Users/xxxxxxx/hosts' to '/system/etc/hosts': Out of memory

エミュレータのhostsを確認
$ adb shell
$ cat /System/etc/hosts

remount, pushはエミュレータ起動時に毎回行う必要がある


参考

Android Studioでエミュレータ高速化

Androidエミュレータ遅すぎワロタ...と思ってたら、これは普通に改善するらしいということなのでAndroid Studio開発環境で高速化を謀ってみる

環境
Mac OS X 10.8.3
Android Studio 0.1.1


Packageのインストール

まず必要なpackageを入れる
[Tools]→[Android]→[SDK Manager]
を開いて
開発で必要なOSの[Intel x86 Atom System Image]をインストール
ここではとりあえず最新の
[Android 4.2.2 (API 17)]→[Intel x86 Atom System Image]
をインストール

加えて、
[Extras]→[Intel x86 Emulator Accelerator (HAXM)]
をインストール


IntelHAXMのインストール

/Applications/Android Studio.app/sdk/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmg
上記のdmgからインストールする(バージョンは1.0.6でした)

もし不要になった場合のIntelHAXMのアンインストールは
$ cd /System/Library/Extensions/intelhaxm.kext/Contents/Resources
$ sudo ./uninstall.sh



エミュレータの設定


[Tools]→[Android]→[AVD Manager]
を開いて[New]を選択

AVD Name : 適当
Device : 適当
Target : [Intel x86 Atom System Image]をインストールしたOS
ここでは[Android 4.2.2 - API Level 17]を選択
CPU/ABI : [Intel Atom (x86)]
Emulation Options : [Use Host GPU]にチェック

後はお好みで、[OK]を押して作成
(以前入れた設定を再利用して上記のようにEditしてもエミュレータが上手く動かなかったので1から新規で作成した方がいいかもしれない)


エミュレータでデバッグ

後はいつも通りで上記で作成したエミュレータを選択してRun

ログに
HAX is working and emulator runs in fast virt mode
と出るはず

初回起動だとアプリが何故かインストールされないのでエミュレータ起動後にもう一度Runしてみる


これでなんとかMacでも開発できそうかな


参考


Monday, May 27, 2013

この文字は、エンコーディングsjisにマップできません。

Android Studio で *.javaに日本語を使用すると上記のコンパイルエラーが発生してしまうためInfo.plistを修正

/Applications/Android Studio.app/Contents/Info.plist
の99行目あたりの
<key>VMOptions</key>
<string>-ea -Dsun.io.useCanonCaches=false -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar</string>
の<string>に -Dgroovy.source.encoding=UTF-8 -Dfile.encoding=UTF-8 を追加する
<key>VMOptions</key>
<string>-ea -Dsun.io.useCanonCaches=false -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Xbootclasspath/a:../lib/boot.jar -Dgroovy.source.encoding=UTF-8 -Dfile.encoding=UTF-8</string>


参考

Friday, May 17, 2013

Android Studio

ADTを入れた矢先、Android Studioなる開発ツールが公開されたっぽいのでこれを入れてみる

http://developer.android.com/sdk/installing/studio.html
からダウンロードしてインストール
簡単ですね

PhpStormと同じものをベースに作られてるみたいでぱっと見なんか似てます
適当なプロジェクトを作成して、エミュレータで実行とかも簡単に出来ました
ただ、相変わらずエミュレータは重い気がします

今までのeclipseでどーのこーのするより使いやすそうな感じがしました

今は以前より大分開発環境が整ってきたんですね

ADT日本語化

Android開発の為にADTをいれてみる
ADTというのはAndroidの開発に必要なeclipseやplugin,sdkがまとめて入っているもので、
以前だとeclipseにpluginを入れたり、sdkを別途取ってきて関連づけたりと面倒だったのだがこれだけで開発ができるらしい
で、eclipse部分が英語なのでその日本語化してみる
あ、Macです

基本的には以前やった普通のeclipseの日本語化と同じ感じ


http://developer.android.com/sdk/index.html から
ADTをダウンロード
解凍して、adt-bundle-mac-x86_64-xxxxxxxxフォルダをアプリケーション(/Applications)へコピペ

http://mergedoc.sourceforge.jp/ から
Eclipse 4.2 Juno Platform Standard Edition をダウンロード
解凍して、dropins(pleiades/eclipse/dropins)フォルダを
eclipseのdropins(/Applications/adt-bundle-mac-x86_64-xxxxxxxx/eclipse/dropins/)フォルダへ上書きコピー

設定ファイル(/Applications/adt-bundle-mac-x86_64-xxxxxxxx/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini)に下記を追加。
-javaagent:../../../dropins/MergeDoc/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

クリーンして実行
$ /Applications/adt-bundle-mac-x86_64-xxxxxxxx/eclipse/Eclipse.app/Contents/MacOS/eclipse -clean

Monday, May 13, 2013

ファイル名の一括変更

$ rename 's/\.htm/\.html/;' *.htm

”xxxxx.app”は壊れているために開けません。”ゴミ箱”に入れる必要があります。

macでアプリケーションを起動時にタイトルのメッセージが出る場合

[システム環境設定]→[セキュリティとプライバシー]→[ダウンロードしたアプリケーションの実行許可:]

[すべてのアプリケーションを許可]
に変更する

MountainLion(10.8.X)以降の場合のみ?


参考

CVSでファイルを戻す

最新バージョンに戻す
$ cvs update -p test.txt > test.txt

特定バージョンに戻す
$ cvs update -p -r 1.3 test.txt > test.txt


参考

Friday, May 10, 2013

ポートの使用確認

$ netstat -an | grep :22
tcp        0      0 xxx.xxx.xxx.xxx:22       yyy.yyy.yyy.yyy:yyyyy    ESTABLISHED

Thursday, May 2, 2013

Sublime TextのShift_JIS対応

Sublime Text 2がShift_JISに対応してなかったのでパッケージを入れてみる
そももそもShift_JISなファイル自体触りたくないんですが仕方ないね

https://github.com/seanliang/ConvertToUTF8

からzipをDLしてきて、
解凍して出来たフォルダを[Preferences]→[Brows Packages...]で開いたフォルダに突っ込む

おわり


参考

Sublime Textで任意のファイルを無視

[Preference]→[Settings]の下記部分に追加
"file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db"],

Wednesday, May 1, 2013

Windows7でスリープが勝手に解除される

なぜかWindows7のスリープが数秒で勝手に復帰してしまうようになってしまったので、
ちょっと設定を変更

[コンピュータの管理]→[デバイスマネージャー]→[ネットワークアダプター]→[Realtek PCIe GBE Family Controller]のプロパティを開く
[電源の管理]タブ内の
[このデバイスで、コンピュータのスタンバイ状態を解除できるようにする(O)]のチェックを外す

とりあえず解除されないようにはなったからいいか