2009-05-29

Android Native Development Kit (NDK)

http://android.git.kernel.org/?p=platform/development.git;a=blob_plain;f=pdk/ndk/Android_NDK_README.html;hb=HEAD

Android NDKですが、JNI shared libraryをbuildできるようにするために、Android SDKの様に、必要なツールとかMakefileとかを抜き出してまとめたものなわけですね。repoで全部sourceひっぱらなくてもNDKだけあればbuildできるようになったと。


JNI shared libraryを新しく入れるにはrootになれないといけない

というのは間違いで、platform別にshared libraryをapkに入れられる仕組みが元々あって

http://android.git.kernel.org/?p=platform/development.git;a=blob;f=pdk/ndk/samples/samplejni/Makefile;h=18e97df4e00729ac448af2cca8d1fbdbf434fd89;hb=HEAD

というようにshared libraryをapkに突っ込めます。普通にapkインストールするだけで自前のshared libraryをJNIで使えます。

NDKよりsourceひっぱってきてAndroid.mk使う方がMakefile書かなくて良い分楽だと思いますけども(http://blogger.splhack.org/2009/05/android-jni-shared-library.html)。

http://code.google.com/p/android-ruby/source/browse/trunk/irbapp/Android.mk
http://code.google.com/p/android-ruby/source/browse/trunk/lib/Android.mk
とか。


scummvm-android http://sites.google.com/site/scummvmandroid/ も興味深いことをやってます。
http://sourceforge.net/tracker/index.php?func=detail&aid=2603856&group_id=37116&atid=418822

2009-05-21

sudo MacVim

Mac Vim 再び
http://pc11.2ch.net/test/read.cgi/mac/1133534694/276
MacVimからだとsudo使って開いても読込専用で編集できない
ファイルがあるんですが(apacheの設定ファイルとか)最初からあるvimだと編集できます。
どうすればMacVimで編集できるでしょうか?



sudo open -a MacVim


だとsudoで得た権限が引き継がれないようですね。


sudo /Applications/MacVim.app/Content/MacOS/Vim -g /opt/local/apache2/conf/httpd.conf


であれば編集できそうです。

MacVimが起動していなかった場合、以降の新ウインドウはすべてroot。

MacVimが起動していた場合、そのウインドウだけroot。

みたいです。MacVimを起動した状態でVim -gするのが安全ですね。


ps auxww|grep -i vimで確認できます。

2009-05-18

MacVim KaoriYa snipMate.vim, Fuzzyfinder, 最大化

http://twitter.com/mickey24/status/1781868117
MacVimでsnipMate.vimが動作しない,FuzzyfinderのMRUがきかない,起動時に最大化できない,などなど.原因がよく分からない.



snipMate.vim

http://www.vim.org/scripts/script.php?script_id=2540 snipMate.zip 0.81 を$HOME/.vimに展開して、a.cファイルを開いて、「forタブ」を入力したところ。

:FuzzyFinderMruCmd

http://www.vim.org/scripts/script.php?script_id=1984 vim-fuzzyfinder.zip 2.21.0 を$HOME/.vimに展開して、:FuzzyFinderMruCmdしたところ。

起動時に最大化
$HOME/.gvimrcに
autocmd BufEnter * macaction performZoom:

でどうでしょうか。


MacVim-KaoriYa 20090511 では以上のように使えているのですが、他に情報ありましたら教えてくださいませ。その他の不具合情報なども歓迎しております。

2009-05-12

Android JNI shared library

http://android.git.kernel.org/?p=platform/packages/inputmethods/LatinIME.git;a=blob;f=Android.mk;hb=HEAD

LOCAL_JNI_SHARED_LIBRARIES := libjni_latinime


とすると、shared libraryがapkに入った上、/data/data/foo/lib に配置されるようです。


http://code.google.com/p/android-ruby/

で使ってみましたが、普通のcupcake G1に入れられるのかどうかまではわかりません。

2009-05-11

MacVim KaoriYa 20090511

http://code.google.com/p/macvim-kaoriya/

更新しました。

:helpで固まる不具合対策と、ctags-objc-ja http://wiki.github.com/splhack/ctags-objc-ja 同梱です。




taglist.vim http://www.vim.org/scripts/script.php?script_id=273



let tlist_objc_settings='objc;P:protocols;i:interfaces;I:implementations;M:instance methods;C:implementation methods;Z:protocol methods'


で、Objective-Cも楽々。

MacVim KaoriYa helpで固まる件

$HOME/.vim/doc/tags-ja などに

!_TAG_FILE_ENCODING utf-8


が含まれている場合、

:help !


とかやると帰ってこなくなります。CTRL-Cで中断できますが。

http://code.google.com/p/macvim-kaoriya/issues/detail?id=9

の添付パッチで回避できますが、これはMacVim-KaoriYaのせいなのか、originalからなのか...

/Applications/MacVim.app/Contents/Resources/vim/runtime/doc/tags-ja

にも含まれてるんですけどね。や、むしろ含まれているからこそ、か?


MacVimの更新を待ってたんですが、ctags-objc-jaとこれでバイナリ更新するつもりです。

2009-05-08

ctags objc 日本語対応版

http://github.com/splhack/ctags-objc-ja/

Objective-C 対応 Exuberant Ctags の日本語対応版です。



を元に


  • configure オプション—enable-japanese-support 追加 (デフォルトで日本語対応機能OFF)
  • gauche_guess (http://yukihiro.nakadaira.googlepages.com/#chardet) による文字コード自動判別機能追加 (デフォルトで自動判別—jcode=auto)


を追加しました。

http://wiki.github.com/splhack/ctags-objc-ja


日本語対応版だとCP932で


// ソ
void func() {}


なんてのも平気になるわけですね。しかもgauche_guess効果でファイルの文字コード気にせずにctags実行できるかと。


.vimrcに

http://github.com/jad/home/blob/e4edeae019b702209d738d38df9c5c0e515177d0/.vimrc

let tlist_objc_settings='objc;P:protocols;i:interfaces;I:implementations;M:instance methods;C:implementation methods;Z:protocol methods'


って書けば、taglist.vimでObjective-Cを楽しめます。


MacVim KaoriYaは次のリリースでctagsバイナリを更新します。本家MacVimの更新はいつだろう。

2009-05-07

ctags

そういえば taglist.vim で Objective-C が表示されないのでぐぐってみたら

http://github.com/jad/home/blob/e4edeae019b702209d738d38df9c5c0e515177d0/.vimrc

objc対応ctagsがありました。

http://gitweb.aeruder.net/?p=ctags-objc.git;a=summary

てことで、

http://hp.vector.co.jp/authors/VA025040/ctags/

から日本語対応部分をもってきて

http://github.com/splhack/ctags-objc-ja/tree/master

を作ってみました。


まだcompileしてないんですけども。

MacVim-KaoriYa同梱のctagsはこれに入れ替える予定です。

2009-05-04

Android cupcake emulator

$TOP/out/host/linux-x86/bin/emulator -sysdir $TOP/out/target/product/generic -data $TOP/out/target/product/generic/userdata.img -kernel $TOP/prebuilt/android-arm/kernel/kernel-qemu


ってやればavd関係なくemulatorを起動できると。avd使いたければmake sdkすると。


■Ubuntuでのqemu build error対策
http://groups.google.com/group/android-porting/browse_thread/thread/8432b5f2accb718a/dd7e91571cb243c7


■official ADP1 cupcake image
http://www.htc.com/www/support/android/adp.html

account登録とかがskipできるようになったんですね。emulatorでこのsystem.img使えばmarketも使えるかも(google accout入力しなかったので未確認)。

2009-05-01

Android MigemizeSoftKeyboard

http://code.google.com/p/android-migemo-ime/

続きまして、migemoを使ったAndroid用IMEです。SKK辞書Mで、ちゃんと変換できるようになって帰ってきましたw

http://www.youtube.com/watch?v=T93Py8bco_o
(前とったムービー)

adb install MigemizeSoftKeyboard.apk でインストールできます。

詳しくは http://www.adamrocker.com/blog/253/simeji-for-android-sdk-15.html を参照していただくと良いと思います。





SKK辞書Sでもいいんじゃないかと思ってます。

使用頻度による候補表示順とかあるといいですね。iPhoneみたいな「かな」パレットとか。

android-ruby for cupcake



http://code.google.com/p/android-ruby/


Android用ruby-1.9.1をcupcakeに対応させて、

かつapkにshared libraryをつっこんでみました(Android.mk)。

ADP1やemulatorは当然ながら、普通のG1でもインストールできるのかもしれませんしできないのかもしれません。

(jailbreakしてないG1なんて持ってませんし)

/sdcardに付属のruby.tarを展開すると、ほぼフル機能になります。

(20090502 追記 インストールスクリプト追加しました。rootになれるならruby native commandもインストールできます。スクリプト参照)

jrubyじゃないですよ。crubyです。