我一直在努力开始在我的Android应用程序中添加本机代码,所以我查看了大量的Android NDK教程都无济于事。我无法在我的模拟器或Galaxy S3上运行任何应用程序。我一直得到同样的错误:"不幸的是,[AppName]已停止工作" 我的ndk-build命令成功运行,我得到一个.so文件。我不知道.so文件应该是什么样的。这是我的
对我来说这看起来很乱,但我知道什么?这是我的logcat http://txt.do/klod
答案 0 :(得分:0)
在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
指定{{1}是,例如
something
或
APP_ABI := armeabi-v7a
该库将被放置在您的apk中并安装在应用程序数据文件夹的子目录中。
APP_ABI := all
会找到它。 (请注意,如果您将应用程序作为系统应用程序运行,则会有不同的故事。)
为错误目标构建的库不起作用。