N2-Works
WEB企画・制作/システム開発 大阪拠点

AndroidNDKのjavah

最近Androidの開発を全然やっていなかったのですが、知らない間にNDKの地位が向上していたようです。

導入時にはいつもそうするように、TIPS本を買ってきました。

AndroidNDKはインターネット上にも資料が少なく、google公式のドキュメントもサポートが十分ではないようです。

Windows上で開発環境を整えて、HelloWorldまでは順調でした。

しかしJNIの関数のプロトタイプ宣言を記載したヘッダーを作成してくれるというjavahの項で躓きました。

書籍にはcygwin上にて以下の記載で作成されるとあります。

書籍の内容

パッケージ名:com.example.hellondk
アプリ名:HelloNDK
という前提で、
cd プロジェクトのホームディレクトリ/bin
javah com.example.hellondk.HelloNDK

私の環境

パッケージ名:net.n2works.hellondk
アプリ名:HelloNDK
なので
cd プロジェクトのホームディレクトリ/bin
javah net.n2works.hellondk.HelloNDK

でいけるはずです。

しかし「エラー: 'net.n2works.hellondk.HelloNDK'のクラス・ファイルが見つかりませんでした」というエラーが発生します。

今度はクラスパスを指定してみます。

javah -classpath "./classes" net.n2works.hellondk.HelloNDK

今度は「エラー: android.app.Activityにアクセスできません android.app.Activityのクラス・ファイルが見つかりません」というエラーが発生しました。

android.app.Activityのクラスファイルへのパスを設定します。

{android-sdkのパス}\platforms\android-{minSDKのversion}\data\layoutlib.jar

これでjniディレクトリにヘッダーを作成することができました。

この書籍は環境変数について全く触れられていないので問題があると思います。

[Android]2012年11月24日 13時40分26秒

※1000文字以内で入力してください

captcha
TOP