2012-03-16 6 views
0

アンドロイドの基本的な質問。私はhello world cppファイルを書いて、ndk-buildを使ってコンパイルし、実行可能ファイルを作成しました。それは完璧に正常に動作します。私はなぜ私はLD_LIBRARY_PATHをエクスポートするとアンドロイドNDKアプリケーションがクラッシュする

export LD_LIBRARY_PATH=. 
./sample 

LOCAL_SHARED_LIBRARIES := mysimplelibrary 

と私は、デバイスで実行可能ファイルを実行すると、今、私は、実行可能ファイルを作成し、デバイスにプッシュ:その後、私は好きAndroid.mk内の1つの共有ライブラリをリンクエラーを取得します。

[1] + Stopped (signal)   ./sample 

私は間違っていますか? SHARED LIBRARYとリンクする際にどのような変更を考慮する必要がありますか?

答えて

0

両方とも共有ライブラリの場合は、両方のアプリケーションでloadlibraryを呼び出す必要があります。

  • No support for LD_LIBRARY_PATH, LD_PRELOAD, RTLD_LOCAL and many other options.

それがクラッシュする理由です:NDKドキュメント/ SYSTEM-ISSUES.htmlファイルから引用

+0

loadlibraryからC++フロント? – Whoami

+0

あなたのAndroidアプリで。あなたは 'System.load(" libMyLibrary ");'どこかで呼び出す必要があり、あなたは両方の* .soファイルのためにそれを呼び出す必要があります。 – CaseyB

+0

私はデバイスのシェルプロンプトにバイナリを実行していますが、私はアンドロイドアプリを使用していません。 – Whoami

0

関連する問題