很抱歉问这样一个noob问题,但NDK文档是错误的(r7b):
如果您使用ADT在Eclipse中进行开发,请使用"新建项目向导"为每个示例创建一个新的Android项目,使用"从现有源导入"选项并从中导入源
<ndk>/apps/<app_name>/project/.然后,根据需要设置AVD,并在模拟器中构建/运行应用程序.
没有"apps"文件夹,示例中不包含"project"文件夹.那么......运行样本的正确方法是什么?
另外,我可以配置Eclipse自动构建代码的C++部分吗?
.projectEclipse创建的文件中的字符串.没有使用此名称创建文件或文件夹,并且输出二进制文件似乎不包含此名称.<uses-sdk>AndroidManifest.xml或default.properties中的"target"行获取此信息.我也不知道为什么两者可能不同(例如在位图等离子体样本中,target=android-9但是<uses-sdk android:minSdkVersion="8"/>.)Eclipse不会自己构建本机代码,但如果知道它,它将自动部署本机代码(例如libplasma.so).在命令行上构建本机代码后,例如:
C:\...\android-ndk-r7b\samples\bitmap-plasma>..\..\ndk-build
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi-v7a/gdbserver
Gdbsetup : libs/armeabi-v7a/gdb.setup
"Compile thumb : plasma <= plasma.c
SharedLibrary : libplasma.so
Install : libplasma.so => libs/armeabi/libplasma.so
"Compile thumb : plasma <= plasma.c
SharedLibrary : libplasma.so
Install : libplasma.so => libs/armeabi-v7a/libplasma.so
Run Code Online (Sandbox Code Playgroud)
右键单击您的项目并选择"刷新",否则Eclipse可能无法在启动模拟器时上载本机代码.
最后,要运行该示例,请右键单击该项目,然后选择Run As | Android应用程序.请参阅此处有关选择使用哪个仿真器的信息.
请参阅此处有关配置Eclipse以自动构建本机代码的信息.
我很好奇为什么NDK为每个ABI生成两个大小不同的*.so文件,例如它创建libs/armeabi-v7a/libplasma.so(15 KB)但也创建obj/local/armeabi-v7a/libplasma.so(63 KB).有人知道区别吗?
| 归档时间: |
|
| 查看次数: |
16236 次 |
| 最近记录: |