2011-08-11 11 views
1

私はNDKアプリケーションをかなりの期間開発しており、うまくいきました。しかし、今日のアプリは、名目上の変更を加えてコンパイルした後、もはやランダムには起動しないことに決めました。これは、アプリのメインライブラリを読み込む際の謎の問題が原因です。ここではいくつかのログ出力です:いくつかのGoogleの検索結果によるとlibsがダイナミックリンカー(NDK)に突然ロードされない

08-11 18:38:11.220 D/dalvikvm(1237): Added shared lib /mnt/asec/com.audia.rta-1/lib/libqtandroid.so 0x40513bd8 
08-11 18:38:11.220 D/dalvikvm(1237): No JNI_OnLoad found in /mnt/asec/com.audia.rta-1/lib/libqtandroid.so 0x40513bd8, skipping init 
08-11 18:38:11.220 D/dalvikvm(1237): Trying to load lib /mnt/asec/com.audia.rta-1/lib/librta.so 0x40513bd8 
08-11 18:38:11.260 D/AndroidRuntime(1237): Shutting down VM 
08-11 18:38:11.260 W/dalvikvm(1237): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
08-11 18:38:11.260 E/AndroidRuntime(1237): FATAL EXCEPTION: main 
08-11 18:38:11.260 E/AndroidRuntime(1237): java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1311]: 67 cannot locate '_ZNSaIcEC1Ev'... 
08-11 18:38:11.260 E/AndroidRuntime(1237): 
08-11 18:38:11.260 E/AndroidRuntime(1237):  at java.lang.Runtime.loadLibrary(Runtime.java:434) 
08-11 18:38:11.260 E/AndroidRuntime(1237):  at java.lang.System.loadLibrary(System.java:554) 
08-11 18:38:11.260 E/AndroidRuntime(1237):  at com.audia.rta.RTA.onCreate(RTA.java:139) 

_ZNSaIcEC1Evlibstdc++の一部です。私はチェックして、ビルドプロセスでリンクされ、g++がリンクに使用されています。

奇妙なことに、アプリの古いapkに戻っても、をコンパイルしてインストールしても問題は解決されません。ビルドシステムのすべてがバージョンコントロールにチェックインされ、いくつかのクリーンビルドが行われました。私のビルドはすべて今日働いていて、その後は仕事が止まった。私は何もアップグレードもインストールもしなかった。私が新しいコードをテストしている間に起こったことです。何が起こった?

更新:新しくチェックアウトされたコピーからのビルドは問題を解決しません。

更新2:objdumpとそのシンボルへのリンクを追跡する方法はありますか?多分、これはいくつかの手掛かりを提供する可能性があります。

答えて

0

新しいNDKインストールですべてをコンパイルしてしまいました。それは、古いものが何とか崩壊したようなものですが、どうして私は分かりません。

また、r5bからr6へのアップグレードであったため、NDKバージョンに関連する可能性があります。

関連する問題