Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-settings.php on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-settings.php on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-settings.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-settings.php on line 530

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-includes/cache.php on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-includes/theme.php on line 623

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/custom_posts/custom_posts.php on line 22

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/pukiwiki.php on line 46

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/pukiwiki.php on line 67

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/pukiwiki.php on line 75

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/pukiwiki.php on line 92

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/modPukiWiki/class/PukiWikiRender.php on line 70

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/modPukiWiki/class/PukiWikiElement.php on line 181

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/modPukiWiki/class/PukiWikiElement.php on line 538

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/modPukiWiki/class/PukiWikiElement.php on line 695

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/modPukiWiki/class/PukiWikiElement.php on line 1087

Deprecated: Function ereg() is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/wp-ban/wp-ban.php on line 112

Deprecated: Function ereg() is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/wp-ban/wp-ban.php on line 112

Deprecated: Function ereg() is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/wp-ban/wp-ban.php on line 112

Deprecated: Function ereg() is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/wp-ban/wp-ban.php on line 112

Deprecated: Function ereg() is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/wp-ban/wp-ban.php on line 112

Deprecated: Function ereg() is deprecated in /home/users/1/fool.jp-ichi/web/blog/wp-content/plugins/wp-ban/wp-ban.php on line 112
sublime text2でandroid開発。 | おれせか
おれせか

なんかそれっぽいのをうにうに。

android sdkなんかはすでに入ってる前提。あとmac lion。

sublime androidをインストール

Sublime Android

cloneしてPackagesディレクトリにつっこむ。

$ git clone git://gitorious.org/sublime-android/sublime-android.git
$ mv sublime-android ~/Library/Application Support/Sublime Text 2/Packages/

もしかしたらPackage Controlで入れれたりしたのかもしんないけど。

設定いじいじ

まずは、 Packages/sublime-android/ 内の「Android (OSX).sublime-settings」を直接か Packages/Users/ 内にコピーしてから、自分の環境にあわせて設定。

{
  "jdk_bin": "/usr",
  "ant_bin": "/usr/bin",
  "default_android_project_dir": "/path/to/workspace",
  "android_sdk": "/path/to/sdk",
  "last_apk_path": "",
  "last_package_name": ""
}

"jdk_bin"は「bin/java」があるディレクトリを指定。"ant_bin"は「ant」があるディレクトリを指定。"android_sdk"は普通にsdkのディレクトリ(toolsやらplatform-toolsがあるとこ)を指定。

プロジェクト作ってみる

メニューバーから[Tools]->[Android]->[New project]をポチッとな。

  • Project name:
  • Activity name:
  • Package name:
  • Project path:

と順に聞かれるので適宜入力。

  • 次にすでに入っているplatformからbuild targetを選択する。

※なので、事前に[Tools]->[Android]->[SDK Tools]->[Launch Android SDK Manager]で必要なものだけ入れといたほうがいいとおも。

projectの設定みてみる

さっきの「Project path」で入力した箇所にhello worldプロジェクトが作成されてる。
この時点でCmd+bでBuildしてみるとビルドしてインスコまで完了する。(実機接続されてれば実機に)

ちなみにCmd+bした時に「Buildfile: build.xml does not exist!」みたいなこと言われる場合は

  • build.xml (antでbuildするのに必要。いろいろ書いてある)
  • ant.properties (antのデフォ値を上書きしたいときに使うっぽい。デフォでは空)
  • local.properties (ant関連の各自のlocal環境の値を書くファイルっぽい。デフォだとsdkのpathが書いてる)
  • project.properties (project毎の設定が書いてある。eclipseでの開発時でもおなじみ)

このへんのどれかのファイルを選択してる状態で押すとだいじょぶなはず。

インスコ後に起動までしたいよう

eclipseだとbuild->インスコ->起動までしてくれるんだし、こっちでもそうしたいなーってことでちょっといじる。

ぐーぐる先生に聞いてみたところ、

$ adb shell am start -a android.intent.action.MAIN -n [パッケージ名]/.[Activity名]

shellではこれを叩けばいけるらしい。

というわけで、これを叩くantコマンドを追加しよう。
で、build.xmlをふわっと見てみるとカスタムするなら「custom_rules.xml」ての追加って手もあると。

じゃあそうしてみようというわけでcustom_rules.xmlを追加。

<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules" default="help">
    <target name="run">
        <exec executable="adb">
            <arg value="shell"/>
            <arg value="am"/>
            <arg value="start"/>
            <arg value="-a"/>
            <arg value="android.intent.action.MAIN"/>
            <arg value="-n"/>
            <arg value="${start.activity}"/>
        </exec>
    </target>
</project>

で、↑でつこてる「start.activity」変数をproject.propertiesに追加して、パッケージ名とアクティビティ名をそのプロジェクトのものにする。

start.activity=com.hoge/.MainActivity

ここまで出来たらshell上で、build.xmlがあるディレクトリにて

$ ant run

てすれば起動はできるようになってる。

あとはこれを一連のbuildの流れの最後に追加すればOKということに。
実際のbuild時の処理は Packages/sublime-android/Android.sublime-build に書いてあるのでここをいじる。
※Packages/Users/に入れたらデフォを上書きできるかなーと思ったら出来なかったので直接いじるしかなさそう。

Android.sublime-buildのosxの箇所で

"osx":
{
  "cmd": ["ant", "uninstall", "&&", "ant", "debug", "install", "run"],  // <- 最後にrunを追加!
  "working_dir": "$project_path",
  "target": "android_build_install"
},

"cmd"の最後に"run"を追加する。

ここまで出来たらCtrl+bでのビルド時にbuild->インスコ->起動までしてくれるようになってる。ヤッター!

あれれ。antのログで日本語が出ないぞう。

ここまではOKだったけど、ビルド時にエラーが発生したりで日本語ログが出てるはずの際にsublime text2のログウィンドウでは

[Decode error - output not utf-8]

が表示されて日本語が消え去ってる。

ググったところ、以下の解決法をみつけた。
macでantのメッセージが文字化けする - 作業ノート

なるほどなるほど。というわけで自分の場合は.zshrcに

export ANT_OPTS=-Dfile.encoding=UTF8

と追記してみたら、shell上で「ant debug install run」とか実行する分には日本語が化けることなく表示されるようになったけど、sublime上では相変わらず。

そっかーshellとsublimeで環境引き継いでるわけじゃないもんなー、てなわけでわりとザックリな方法で対応。

前述のAndroid.sublime-buildのosxのcmdを変更。

"osx":
{
  "cmd": ["ANT_OPTS=-Dfile.encoding=UTF8", "ant", "uninstall", "&&",
              "ANT_OPTS=-Dfile.encoding=UTF8", "ant", "debug", "install", "run"],
  "working_dir": "$project_path",
  "target": "android_build_install"
},

わあい。日本語表示されたよーヾ(*´∀`*)ノキャッキャ

だいぶ横道にそれてる気もするけど最後にもすこし

あとまれによくあるbuild時になんでエラーになるんだろーな事態。そんなときはとりあえずプロジェクトをキレイキレイにしたいよね!

とりあえず、shellのプロジェクトdirで↓を叩けばOK。

$ ant clean

ほんとはsublimeのメニュー内に[Clean project]っての作ろうかとか考えてたけど、そこまですることないよねーって思ってやめた。

PAGETOP
PAGETOP

Prev / Next in same category

PAGETOP

Comments (19)

私はあなたの記事を見てとても幸せです。

[2013/03/13 (水) 12:27]

私は良い、長い時間のためにこのような良い記事を参照していない!

[2013/04/07 (日) 17:51]

これは私が今まで読んだ最高のブログの一つです

[2013/05/06 (月) 10:27]

hermes 通販

[2013/09/05 (木) 12:40]

あなたからの素晴らしいもの。アイブ氏は前に自分のものを読んで、あなたはあまりにも素晴らしい。

[2014/05/14 (水) 17:09]

ここまで出来たらCtrl+bでのビルド時にbuild->インスコ->起動までしてくれるようになってる。ヤッター!

[2014/07/12 (土) 12:50]

天虹紡織の2013年のグッチ激安純益は人民元の8.6億元の(1.3839億ドル)で。

前の年同時期と比較して。

77%増加します。

この会社の2013年の投資者の会議の上で。

洪の天祝の主席はのよるベトナム。

グッチ激安http://www.negucci.com/

生産能力をこ。

会社ベトナムが5持つ間に工場のグッチ激安ため成長します、。

[2015/04/07 (火) 18:47]

holesale from china 201

[2015/08/13 (木) 16:13]

プロジェクトのdirを適当につくってGemfileを作成。あとgit initもしとこう。

[2015/09/16 (水) 12:55]

l直書きでネスト作るこ

[2015/10/13 (火) 17:14]

最初にシャネル激安は皮革のかばんの方面の製作のブランドに従事するので、
シャネルコピーhttp://www.cctoh.com/
80年代始まって、流行の都市の中の低い人の後でシャネル激安を安定させて、

初めは異なる製品の種類を創建して、
シャネル靴新作
財布、腕時計、靴、眼鏡、ピアス、バッグ
たくさんフランスからの流行するブランドシャネル激安が私達の市場の中まで(に)入ると言いますが、
CHANELカーフショルダーバッグ24cm シャネルコピー8094レッド独有巧妙風格

[2015/11/13 (金) 12:57]

It is now and again perplexing to simply always be freely giving tactics that some others could have been trying to sell.

[2015/11/23 (月) 17:36]

bundle exec rails g migration add_max_attempts_to_delayed_jobs max_attempts:integer

[2016/01/06 (水) 17:40]

画面中央にこのボックスが表示されるサンプルで、ポップアップされたウィンドウ内でスクロールができるようにしたいのですが、どうしたらよいものか、と困っております。

[2016/01/07 (木) 11:12]

アイブ氏は前に自分のものを読んで、あなたはあまりにも素晴らしい。

[2016/01/15 (金) 17:36]

Love the site– really user pleasant and great deals to see!|

[2016/03/24 (木) 20:53]

動かしたよメモ。

[2016/07/08 (金) 09:32]

各種の高貴な時計、歓迎の購入を歓迎します

[2016/07/12 (火) 12:22]

Various styles of watches

[2016/12/24 (土) 18:43]
PAGETOP

Comment Form

PAGETOP

Trackbacks (0)

トラックバックはありません。

PAGETOP

Trackback URL

PAGETOP

Search