Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2122053
  • 博文数量: 229
  • 博客积分: 7217
  • 博客等级: 上校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 17:23
个人简介

个人主页https://xugaoxiang.com,微信公众号: Dev_Club 或者搜索 程序员Club

文章分类

全部博文(229)

文章存档

2017年(1)

2016年(20)

2015年(23)

2013年(1)

2012年(23)

2011年(68)

2010年(62)

2009年(31)

分类: LINUX

2011-12-30 10:02:13

在做android开发时,有时需要事先将应用程序烧写到板子上去而不必让用户在板子出厂后自行安装。将应用导入到android源码树可以分为两种情况:应用的apk文件和源码工程,下面将一一介绍。

apk文件形式导入
1、在应用程序所在目录创建文件夹
mkdir Hello
2、将Hello.apk拷贝到刚才所创建的文件夹下
3、在apk同级创建Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Hello.apk
LOCAL_MODULE_TAGS := eng
LOCAL_MODULE_CLASS := EXECUTABLE
LOCAL_MODULE_PATH := $(TARGET_OUT_APPS)
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
4、到android根目录进行编译
make

应用源码形式导入
1、在应用程序所在目录创建文件夹
mkdir Hello
2、将eclipse里的工程拷贝到Hello里
3、新建Android.mk文件
LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := Hello
LOCAL_MODULE_TAGS := eng 
include $(BUILD_PACKAGE)
4、到android根目录进行编译
make
5、如果java中调用了c库,则工程中会有个jni目录
这里的Android.mk是用来编译C文件产生lib*.so的,如
LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_MODULE := SerialPort(java中System.loadLibray()使用) 
LOCAL_SRC_FILES := SerialPort.c
LOCAL_LDLIBS := -llog 
include $(BUILD_SHARED_LIBRARY)
6、此时工程的Android.mk可如下
LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_MODULE_TAGS := eng 
LOCAL_SRC_FILES := $(call all-java-files-under, src) 
LOCAL_PACKAGE_NAME := testApp 
LOCAL_CERTIFICATE := platform 
LOCAL_JNI_SHARED_LIBRARIES := libserial_port 
LOCAL_PROGUARD_ENABLED := disabled 
include $(BUILD_PACKAGE) 
include $(call all-makefiles-under,$(LOCAL_PATH))
7、重新编译
make
 



阅读(3019) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

☆彼岸★花开2011-12-30 21:40:12

应用的apk文件和源码工程