戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
08

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android NDK トラブルシューティング

Android NDK を使用する際に起こった問題の解決方法をまとめました。
その他の問題は『Android トラブルシューティング』を参照してください。


CDT プラグインがインストール / アップデートできない
ADTr20未満、または、ADTr20未満からADTr20以上にアップデートした場合、NDK Plugin が含まれていません。
その場合、ADTの再インストール、または、CDTのインストールを行います。

CDT のインストールは以下から行います。
Eclipse の [ヘルプ(H)] - [新規ソフトウェアのインストール]
Android Developer Tools Update Site - http://dl-ssl.google.com/android/eclipse/
Android_NDK_CDT_Install.png

このとき、以下のようなエラーが発生することがある。
インストールする項目の収集中にエラーが発生しました
session context was:(profile=profile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,com.android.ide.eclipse.ndk,21.0.0.v201210310015-519525
No repository found containing: org.eclipse.update.feature,com.android.ide.eclipse.ndk,21.0.0.v201210310015-519525


【対処法】
アドレスが間違っているかローカルにキャッシュされているサーバ情報が古い可能性があります。
登録されているアドレスを再ロード、または、再登録して実行してください。
(参考)ログろいど - Eclipseで No repository found containing が発生した場合

① Eclipse の [ウィンドウ(W)] - [設定(P)] から設定を開く。
② [インストール/更新] - [使用可能なソフトウェア・サイト] を選択。
③ 対象のアドレスにチェックを入れて [再ロード]

または

① [ヘルプ(H)] - [新規ソフトウェアのインストール]
② ["使用可能なソフトウェア・サイト" 設定で作業して、...] のリンクを選択。
③ 対象のアドレスにチェックを入れて [再ロード]


Android NDK: Warning: APP_PLATFORM android-14 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
アプリの対象を API 14 未満に設定した際に発生。

【対処法】
Application.mk を作成し、以下を定義する。
APP_PLATFORM := android-8


base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}'
言語と書式があっていない可能性があります。
(参考)ひしだま's 技術メモページ - JNIのC言語/C++側のコーディング

【対処法】(例)
C (*.c) の場合:
(*env)->NewStringUTF(env, "Hello from JNI !");
C++ (*.cpp) の場合:
env->NewStringUTF("Hello from JNI !");


Method '[メソッド名]' could not be resolved
メソッドが見つからない、または、ライブラリが読み込まれていないときに発生。

【対処法】
#include を指定。
正しく指定されているのにエラーが発生する場合、ライブラリが正しく読み込まれていない。
(参考)のねの日記 - EclipseでNDK(ndk-build)を使う方法 その2 はまった点

① Eclipse の [ウィンドウ(W)] - [設定(P)] から設定を開く。
② [C/C++] - [インデクサー] の 「次の値より大きなファイルをスキップ」 を 8MB -> 32MB に修正。
※ これで直りました。が、その後 8MB に戻しても正常のままでした…謎。


make: *** No rule to make target `jni/[class].cpp', needed by `obj/local/armeabi/objs/[project]/[class].o'. 停止。
一度コンパイルが通ったファイルを修正した場合に発生。

【対処法】
/obj 配下を全て削除。


スポンサーサイト

Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。