我一直在嘗試開始向我的Android應用程序添加本地代碼,所以我瀏覽了大量的Android NDK教程都無濟於事。我無法讓任何應用程序在我的模擬器或Galaxy S3上運行。我不斷收到相同的錯誤:「不幸的是,[AppName]已停止工作」 我的ndk-build命令成功運行,並且得到一個.so文件。我不知道.so文件應該是什麼樣子。這裏是我的Android NDK應用程序不會運行
它看起來像廢話給我,但我知道什麼?
這是我的logcat http://txt.do/klod
我一直在嘗試開始向我的Android應用程序添加本地代碼,所以我瀏覽了大量的Android NDK教程都無濟於事。我無法讓任何應用程序在我的模擬器或Galaxy S3上運行。我不斷收到相同的錯誤:「不幸的是,[AppName]已停止工作」 我的ndk-build命令成功運行,並且得到一個.so文件。我不知道.so文件應該是什麼樣子。這裏是我的Android NDK應用程序不會運行
它看起來像廢話給我,但我知道什麼?
這是我的logcat http://txt.do/klod
在Android NDK目錄下,有一個HELLO-JNI的例子。嘗試編譯和運行它,它的工作原理。
它在您的NDK的samples/hello-jni
目錄中,我在~/android-ndk-r9d/samples/hello-jni
。複製(「導入」)到您的工作區並編譯。
要生成標題:
cd bin/classes
javah com.my.package.name.MyClassName
注意,庫通常放置由ndk-build
到libs/something
子目錄中的項目,例如,libs/armeabi-v7a
,文件jni/Application.mk
指定了something
是,例如
APP_ABI := armeabi-v7a
或
APP_ABI := all
該庫將被放置在您的APK,並安裝在您的應用程序的數據文件夾中的子目錄。
System.loadLibrary("stuff"); // libstuff.so
會找到它。 (請注意,如果您將應用程序作爲系統應用程序運行,那麼情況就不一樣了。)
爲錯誤目標構建的庫不起作用。
謝謝。通過查看示例代碼,我能夠修復一些錯誤 – user3794517
顯然,問題在這裏陳述:'未找到本地方法:com.example.ndksetup.NDKSetupActivity.printLog'。 [你有什麼嘗試](http://mattgemmell.com/what-have-you-tried/)來解決它?添加[SSCCE](http://sscce.org/),它是一個編程網站。 – Drop
[Android ndk應用程序停止工作]的可能重複(http://stackoverflow.com/questions/24517066/android-ndk-app-stops-working) – XGouchet