編譯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 |