一.在android源码目录下编apk
现在试一下将所有的代码,无论java还是cpp都放在源码目录下,然后用mmm编译
目录结构如下:
2. 在源码下编译的关键点是两个Android.mk的写法
这个是参考的 ./packages/apps/Bluetooth/下的Android.mk写的
3.在源码目录下的使用:
4. 代码
内容就不说了,hello-jni,
hellocpp.rar
(下载后重命名为hellocpp.tar.gz)第二版
hellocpp_btn.rar
(下载后重命名为hellocpp_btn.tar.gz)使用了xml
hellobtn.rar
(下载后重命名为hellobtn.tar.gz)使用了btn
5. adb shell 运行
二.用ndk-build编jni
用ndk-build编jni,apk用eclipse生成,适合于纯应用层开发
hellobtn.rar
(下载后重命名为hellobtn.tar.gz)使用了btn的jni
现在试一下将所有的代码,无论java还是cpp都放在源码目录下,然后用mmm编译
目录结构如下:
- cong@msi:/code/test/hellocpp$ tree
- .
- ├── AndroidManifest.xml
- ├── Android.mk
- ├── assets
- ├── jni
- │ ├── Android.mk
- │ ├── Application.mk
- │ └── hello-jni.cpp
- ├── project.properties
- ├── res
- │ ├── drawable-hdpi
- │ ├── drawable-ldpi
- │ ├── drawable-mdpi
- │ ├── drawable-xhdpi
- │ ├── layout
- │ └── values
- │ └── strings.xml
- └── src
- └── com
- └── example
- └── hellojni
- └── HelloJni.java
这个是参考的 ./packages/apps/Bluetooth/下的Android.mk写的
3.在源码目录下的使用:
- 编译: (-B 强行重新编译)
- cong@msi:/code/test$ mmm -B ./test_nv/hellocpp/
- 安装:
- cong@msi:/code/test$ adb install out/debug/target/product/ardbeg/system/app/hello-jni.apk
- 卸载:
- cong@msi:/code/test$ adb uninstall com.example.hellojni
内容就不说了,hello-jni,
![](https://i-blog.csdnimg.cn/blog_migrate/f5eb4426879d9c4b4b2deb15679e0746.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f5eb4426879d9c4b4b2deb15679e0746.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f5eb4426879d9c4b4b2deb15679e0746.png)
5. adb shell 运行
am start -n com.package.name/com.package.name.ActivityNameadb shell am start -n com.example.hellojni/.HelloJni
二.用ndk-build编jni
用ndk-build编jni,apk用eclipse生成,适合于纯应用层开发
![](https://i-blog.csdnimg.cn/blog_migrate/f5eb4426879d9c4b4b2deb15679e0746.png)