一.在android源码目录下编apk
现在试一下将所有的代码,无论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
2. 在源码下编译的关键点是两个Android.mk的写法
这个是参考的 ./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
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 运行
am start -n com.package.name/com.package.name.ActivityName
adb shell am start -n com.example.hellojni/.HelloJni
二.用ndk-build编jni
用ndk-build编jni,apk用eclipse生成,适合于纯应用层开发
hellobtn.rar (下载后重命名为hellobtn.tar.gz)使用了btn的jni
阅读(2430) | 评论(0) | 转发(0) |