2013-04-15 79 views
1

上,在C++(NDK)具有一個共享的代碼庫構建的應用程序工作載荷本地庫代碼的Android 2.2不能加載庫。Android應用未能在2.2

當我到了一定的視圖需要加載的結果,它從。所以本機庫獲得,它可以在2.3及更高版本,但在2.2的應用程序只是去黑屏。我想在加載本地代碼的過程中它會死亡,但不知道發生了什麼。

例如:在2.3 ADT詳細的輸出如下所示:

11月4日至15日:49:07.210:DEBUG/dalvikvm(26048):試圖加載LIB /數據/數據/ COM。 app.myapp/LIB/libViewer.so 0x4051b858

11月4日至15日:49:07.220:DEBUG/dalvikvm(26048):加入共享庫/data/data/com.app.myapp/lib/libViewer。所以0x4051b858

而是2.2。它只是停留在:

11月4日至15日: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 
} 

回答

1

我用gcc 4.7編譯時有這個問題。當我改回使用默認的編譯器gcc 4.6,我不再有你描述的問題。我通過NDK文檔看,從來沒有見過關於GCC 4.7沒有工作在Android 2.2及以上,但他們說,GCC 4.7是實驗什麼。

+0

大衛,感謝您的回覆。它看起來像4.6重新編譯確實解決了這個問題。我現在能夠進入應用程序,而不會去永遠。 – arubin