Android SDK を CLI 環境で更新する
jenkins 用の android sdk を更新しようとしたら
Exception in thread "main" org.eclipse.swt.SWTError…
というエラーが出た
GUIを表示させない -u オプションがあったので下記コマンドを実行した
sudo -u jenkins /path/to/jenkins-android-sdk/tools/android update sdk -u
jenkins 用の android sdk を更新しようとしたら
Exception in thread "main" org.eclipse.swt.SWTError…
というエラーが出た
GUIを表示させない -u オプションがあったので下記コマンドを実行した
sudo -u jenkins /path/to/jenkins-android-sdk/tools/android update sdk -u
JenkinsというCIツールが流行っているらしいので試してみました
インストールは公式の手順通り
Installing Jenkins on Ubuntu – Jenkins – Jenkins Wiki
installすると8080ポートで動き出すのでブラウザからアクセスします
http://localhost:8080/
Android のテストはエミュレータで実行する前提で進めます
まずは Android Emulator Plugin を入れます
アップデートセンター [Jenkins]
github にソースを置いてる人は Git Plugin も入れましょう
続いてシステム設定で android sdk と ant の設定をします
システムの設定 [Jenkins]
それぞれ /var/lib/jenkins/tools/ 以下に入るように設定します
(jdk, ant はインストール済みなら多分必要無いです)
フリースタイル・プロジェクトのビルドでジョブを作成します
SCMの設定で自分のgitリポジトリを指定します
ここではローカルのものを指定してますが、git clone に渡せるものであればなんでも構いません
ジョブのワークスペース以下にAndroidのテストアプリケーションと、
そのターゲットとなるアプリケーションの両方が配置されるようにします
続いてビルド環境の設定で適当にAndroidエミュレータの設定をします
最後にビルドの設定です
まずは ant でビルド出来るようにAndroidアプリケーションプロジェクトを更新します
ant によるビルドの実行
これでエミュレータにアプリケーションとテスト用アプリケーションの両方がインストールされるので、
いよいよテストを実行します
これで最低限のテスト自動実行が出来ました
すっかりblog書くのサボってますが、年末に色々買いました
あとPSVitaも
これで大画面でゲーム&動画が楽しめる
買ったのは東芝REGZA 42Z3
本当は一世代前の42Z2が安くて良い感じだったのだけど、売り切れだったので仕方なく
ヨドバシアキバで10万5千円ぐらいのポイント10%還元でした
設置料考えると最安と同等以下の値段だと思います(通販サイトで設置頼むとそれだけで1万ぐらい取られる…)
テレビラックが12800円ほど、1万以下で探してたけどまぁ許容範囲内
ヨドバシの設置料はテレビ1000円のラック2000円で計3000円ほど
今年最後の浪費となるでしょう
買うまではテレビなんて大きいディスプレイぐらいにしか考えてなかったのだけど、
2画面表示出来たりレグザリンクでPS3と連動したり、最近の家電に圧倒されっぱなし…
メニューの表示も意外とレスポンスよくてそれなりに満足です
ゲームの話
PS3はとりあえずテイルズオブヴェスペリア買って全クリ済み、次はグレイセスF、エクシリアかな
Vitaはみんいつだけひたすらやってるけど、本体重量以外は結構良い感じ
動作は軽いのに本体が片手で持つのが辛いぐらい重いのが残念…
ローンチタイトルには欲しいのがないけど、テイルズオブイノセンスのリメイクは買う予定
あとはモンハン出てくれれば…
職場でワイヤレスマウスが支給されて快適に作業できるなー
と感じたので家でもワイヤレスにしたい!と思い、アキバへ
会社ではロジクールのM505(?)だったと思うのですが、
M510、M515というのが電池のもちが良さそう
#最長でM505が15ヶ月、M510&M515が2年との表記
だったので、ボタン数もそんなに要らないし深く考えずにM515にしたのですが、なんかホイールが使いづらい
引っかかりのないホイールで、力を込めて回すとシャーっと回り続けるタイプです
これ、最初は便利かと思ったのですが、
自分の使い方だとちょっと動かしたときにどれぐらいスクロールするか把握しづらくて逆に使いづらかったです
多分、ソフトウェアキーボードが好きになれないのと同じ理由
回した後止まる感触がないので移動量が測れず気持ち悪いですね
大人しく会社と同じM505(カチカチするタイプのホイール)を買いなおそうと思います
久々に大失敗の買い物でした
Unifyingレシーバはいいですね、挿すだけですぐに使えるようになります
BTみたいに対象を選ぶ必要もないし、電池もちも相当いいみたいです
2011年9月4日 追記
スクロールの件はホイールを押しこむことでカチカチとヌルヌルを切り替えられるんですね
しばらく気づきませんでした…(M505を買う時に店で触っていて気付いた)
若干力入れて回したら壊れそうでビクビクしてますが、M515はそれ以外気になる点はなくなりました!
M505も一応買ったんですが、電池蓋が手の平の位置にあってカチャカチャ気になるので、予備に取っとこうと思います
ホイールは一般的なカチカチタイプ(回すときに抵抗がある)で、全体的に使いやすいです
#電池蓋は個体差もあるかも?お店で触ったときはそんなに気にならなかったので…
ずいぶん久しぶりに書く気がする…
最近、会社で勧められてGBAプログラミングを始めました
懐かしのGameBoyAdvanceです
GBAは開発環境が無料で用意できるので、コンソールゲーム開発入門にうってつけらしいです
以下は矩形を表示してカーソルキーで動かすプログラムです
おまじないだらけですね
#include <gba.h>
#define VideoBuffer (u16*)0x6000000
void WaitForVsync()
{
while (*(volatile u16*)0x4000006 >= 160) {};
while (*(volatile u16*)0x4000006 < 160) {};
}
void Mode3PutPixel(u16 x, u16 y, u16 col)
{
u16* ScreenBuffer = VideoBuffer;
ScreenBuffer[y*240+x] = col;
}
void Mode3DrawBox(u16 sx, u16 sy, u16 ex, u16 ey, u16 col)
{
u16 x, y;
for(y=sy; y<ey; y++)
for(x=sx; x<ex; x++)
Mode3PutPixel(x, y, col);
}
int main()
{
SetMode(MODE_3 | BG2_ENABLE);
u16 col = RGB5(255,0,0);
u32 dummy ALIGN(4);
int x = 0;
int y = 0;
for(;;)
{
WaitForVsync();
int ox = x,oy = y;
if( !(REG_KEYINPUT & KEY_UP) ) y--;
if( !(REG_KEYINPUT & KEY_DOWN) ) y++;
if( !(REG_KEYINPUT & KEY_LEFT) ) x--;
if( !(REG_KEYINPUT & KEY_RIGHT) ) x++;
if (ox != x || oy != y) {
CpuSet((u32)&dummy, (u32)VideoBuffer, ((240*160*2) / 4) | (1<<26) | (1<<24));
}
Mode3DrawBox(x, y, x+20, y+20, col);
}
}
ビットマップモードの画面クリア方法が分からなくて嵌ってました
Mode3PutPixelで1pxずつ塗りつぶしていくと全然間に合わず、チラついてしまいます
そこで、CpuSetというGBAのBIOS命令を使って処理させたらチラツキなく画面を更新出来ました(エミュレータ上では)
まぁ、sprite使えやって話なんでしょうが…
環境構築などはGBA develop Wikiを、
今回のCpuSetはゲームボーイアドバンス 実験室のコードを参考にしました
wikiの方のチュートリアルで適当なmain.cにコピペすればmake出来ると思います