编译android系统apk
1、设置环境
1
2
3
|
export android_home=/home/administrator/soft/android export path=$path:$android_home/out/host/linux-x86/bin export android_product_out=$android_home/out/target/product/generic |
2、创建项目
1
2
3
4
5
6
7
8
9
|
android create project -t 1 -k com.lhw.led -a mainactivity -p ./led avd id: 1 ,it's get by command "android list" project name: led package : com.lhw.led main activity:mainactivity project path: ./ |
接下来就是自己编写android程序了。
3、编写android.mk
android.mk需要放在项目根路径下,即led下,内容:
1
2
3
4
5
6
7
8
9
10
|
local_path := $(call my-dir) include $(clear_vars) local_src_files := $(call all-subdir-java-files) local_package_name := led local_java_libraries := local_static_java_libraries := include $(build_package) |
4、编译
在android源码目录下执行:
1
2
|
./build/envsetup.sh mmm /home/administrator/workspace/android_test/led/ |
执行结果:
1
|
install: out/target/product/generic/system/app/led.apk |
编译android系统可执行命令
android系统允许开发者,自己编写"ls"这样的命令放到android系统中。
1、编写c文件:mycmd.c
1
2
3
4
5
6
7
|
#include <stdio.h> int main( int argc, char **argv) { printf( "this is my command!\n" ); return 0 ; } |
2、编写android.mk文件
1
2
3
4
5
6
7
8
9
|
local_path := $(call my-dir) local_src_files := mycmd.c local_module := mycmd local_module_tags := mycmd local_shared_libraries := libc local_static_libraries := include $(build_executable) |
3、编译
1
|
mmm /home/administrator/workspace/android_test/mycmd/ |
编译完成后信息:
1
|
install: out/target/product/generic/system/bin/mycmd |