2016年5月7日土曜日

「その男、グーグル」 Android Studio 2.1 のNDKでやっとサンプル動きました

「あんた、そうやって おれたちにUpdateさせて バグ取りしていると地獄に落ちるぜ」

「 ここはAndroid Studio 2.1 地獄の一丁目だよ! これ以上、どこへ落ちろというんだね!?」


なんか良い感じにNDK対応されたと見かけてウホウホとアップデートした所、どうにもJNIが上手く動かずもんどり打っておりました。
まぁ健忘録的に…

1)先ず2.1でJava 8が要求されます。8のJDKを入れてWindowsの環境変数にセットします。

2)Android Studio 2.1 は Updateではなくインストーラーで上書きインストールします。今迄の設定は引き継げますが、1.5と共存はできませんので要注意。

3)設定引き継ぐとJavaが7のままなので、[file]->[Other Settings]->[Default Project Structure]の所でJDK Locationを指定します。
既存のプロジェクトなら[file]->[Project Structure]で。

準備はこれで終わり。

後はこちらの動画を見ながらサンプルプロジェクトの作成

要点は以下です。


1)build.gradle(app)の修正
 Quitaのサイトからコピペ&修正します。
Android StudioでNDKを使ったビルドをする

2)jniフォルダの作成

3)確認用のCのソース用意

4)Makeファイル (Android.mk Application.mk)の作成

5)MainActivityからの呼び出しを記述

これで一応サンプルが動きます。Android Studio 1.5以前の余計な手間は必要ありません。


こっから先は僕も勉強中なので詳細不明。C++思い出さないとなぁ…


自分が引っかかった注意点としてはこの2つ。

1)NDKが絡むとビルド状態のクリーンナップに失敗することがある(かも)
なので、変だと思ったらAndroid Studioの再起動とgradleの同期し直し。

作成したjniフォルダが見えなかったり、mkファイル修正したのにgradleが変なエラー吐いたりはこれで直りました。

2)端末が変わると、やはりAndroid Studioもしくは端末が変な状態になるので、
どちらも再起動、端末は古いアプリの手動削除を行います。

3)ビルドが異常に遅い時がある。→ひたすら待つのみ…

これらの対処は自分の環境依存な気もしますので、ご参考まで。

0 件のコメント:

コメントを投稿