C++ (NDK) でビルドされた共有コード ライブラリを持つアプリで作業している場合、Android 2.2 はライブラリを読み込めません。
特定のビューに移動すると、.so ネイティブ ライブラリから取得した結果を読み込む必要があります。2.3 以降では機能しますが、2.2 ではアプリが黒い画面になります。ネイティブ コードをロードしている最中に死んでいると考えましたが、何が起こっているのかわかりません。
例: 2.3 では、ADT の詳細出力は次のようになります。
04-15 11:49:07.210: DEBUG/dalvikvm(26048): lib /data/data/com.app.myapp/lib/libViewer.so 0x4051b858 を読み込もうとしています
04-15 11:49:07.220: DEBUG/dalvikvm(26048): 共有ライブラリ /data/data/com.app.myapp/lib/libViewer.so 0x4051b858 を追加しました
しかし2.2で。それはそのままです:
04-15 11:56:27.123: DEBUG/dalvikvm(275): lib /data/data/com.app.myapp/lib/libViewer.so 0x45f3dc28 を読み込もうとしています
そして、それはただここに座っています...
誰もこのような問題に遭遇しましたか?
Java のコードの観点からは、次の行でフリーズします。
static {
System.loadLibrary("nativeViewer");//<-- goes into neverland here
}