android自己添加的模块在user模式下不编译的问题

android自己添加的模块在user模式下不编译的问题

 

        我们在开发中,经常会碰到需要自己添加独立模块的时候,笔者以前也没太关心这个问题,以为写好Android.mk就可以了,其实还不是这么回事。

/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/sundesheng125原创,转载请注明出处,谢谢!
/*****************************************************************************************************/

     把自定义的模块放在android顶层目录development下面,比如模块名字是libcsiJni,模块的Android.mk如下:

ifeq ($(TARGET_PRODUCT),crane_EW1021H_C)

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional eng
#LOCAL_MODULE_TAGS := eng

LOCAL_SRC_FILES := csilib.cpp         

LOCAL_C_INCLUDES:=      \
        $(TOP)/device/softwinner/common/hardware/include \
        $(TOP)/frameworks/base/include \
        device/softwinner/crane-common/hardware/libcsidecoder 

LOCAL_SHARED_LIBRARIES:= libutils libbinder libui liblog libcutils libcsidecoder

ifeq ($(DLOPEN_LIBSECCAMERA),1)
LOCAL_SHARED_LIBRARIES+= libdl
endif

LOCAL_PRELINK_MODULE := false

LOCAL_MODULE:= libcsiJni

include $(BUILD_SHARED_LIBRARY)

endif

   在使用eng模式下编译,能够正常编译出来。但是在user模式下不编译,手动进入该目录,执行mm可以正常编译。Eng跟user版本的差异我们一般也知道,但是使用的optional,按道理说是所有模式下都可以编译的。什么原因呢?

从现象上看,应该是编译路径没有添加进去。搜索了一下资料,自定义的模块需要添加编译指定,PRODUCT_PACKAG环境变量。可以在device下面具体产品目录下的crane_productXXX.mk中或者build/target/product/core.mk中添加,示例如下:

PRODUCT_PACKAGES += \

    libcsiecoder \

    libcsiJni \

    CSIIN

   本身这种问题就是很初级的问题,没什么技术含量,就当做个笔记吧!

时间: 2013-03-07
Tags: 模块, android

android自己添加的模块在user模式下不编译的问题的相关文章

directx-DirectX10程序Debug模式下运行报错,Release模式运行正常一般是什么原因?

问题描述 DirectX10程序Debug模式下运行报错,Release模式运行正常一般是什么原因? 1.两种模式下,编译都没问题.2.运行Debug模式下报错,信息如下:Release模式下运行截图 附:进行了多次试验,Release总是运行正常,而Debug模式基本上都是运行出错,报错信息也是同一个(如上图),但偶尔的小概率能运行(大概百分之一二,这个概率是不确定的,只是我碰巧有一两次正常运行了)遍查了代码,发现不了问题.希望各位能够说说一般情况下可能是什么原因引起的. 解决方案 0xFFF

Android系统移植与调试之------->如何修改Android设备添加重启、飞行模式、静音模式等功能(一)

1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面  具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模式.静音模式等功能(二) ==================================================================================================   作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!   转载请保留原文地址:h

android 如何实现在静音模式下 播放声音

问题描述 android 如何实现在静音模式下 播放声音 我想自己做一个闹钟 但是当时静音模式的时候 不能播放声音 系统自带的闹钟和正点闹钟这些 在静音模式下也能播放声音 请问这个怎么实现 解决方案 Android 如何判断静音模式android静音模式下仍可以播放媒体声音以及调节其大小....android静音的实现---------------------- 解决方案二: 我也想知道啦啦啦啦啦 解决方案三: 这个不能实现吧,除非你取得了root权限 解决方案四: 这个应该是写闹钟这部分时单独

Android 访问文件权限的四种模式介绍_Android

Linux文件的访问权限 * 在Android中,每一个应用是一个独立的用户 * drwxrwxrwx * 第1位:d表示文件夹,-表示文件 * 第2-4位:rwx,表示这个文件的拥有者(创建这个文件的应用)用户对该文件的权限 * r:读 * w:写 * x:执行 * 第5-7位:rwx,表示跟文件拥有者用户同组的用户对该文件的权限 * 第8-10位:rwx,表示其他用户组的用户对该文件的权限 openFileOutput的四种模式 * MODE_PRIVATE:-rw-rw---- * MOD

Android 访问文件权限的四种模式介绍

Linux文件的访问权限 * 在Android中,每一个应用是一个独立的用户 * drwxrwxrwx * 第1位:d表示文件夹,-表示文件 * 第2-4位:rwx,表示这个文件的拥有者(创建这个文件的应用)用户对该文件的权限 * r:读 * w:写 * x:执行 * 第5-7位:rwx,表示跟文件拥有者用户同组的用户对该文件的权限 * 第8-10位:rwx,表示其他用户组的用户对该文件的权限 openFileOutput的四种模式 * MODE_PRIVATE:-rw-rw---- * MOD

异常处理:android中添加按钮事件,出现NullPointerException

问题描述 异常处理:android中添加按钮事件,出现NullPointerException 解决方案 在maincsactivity的oncreate的72行找,有没有对象为null 解决方案二: 对象为空,要么你的按钮对象还没初始化,要么点击代码里有空对象,你调试一下便知 解决方案三: 空指针异常,没什么难找的,Debug一下即可很快找到: 解决方案四: 空指针异常,按钮对象没有初始化 解决方案五: 可能你声明了一个View,但是你没有findViewById,或者findViewById

在Apache下为PHP添加xcache模块

安装环境centOS6.3 APACHE:apache-2.4.4 PHP:5.4.13 1.安装xchache: # wget http://xcache.lighttpd.net/pub/Releases/3.0.1/xcache-3.0.1.tar.gz # tar xf xcache-3.0.1.tar.gz # cd xcache-3.0.1       #xcache是php的扩展,要使用php命令加载此扩展 # /usr/local/php5/bin/phpize      #ph

Android绑定添加了注解的控件,及其事件方法

  Android绑定添加了注解的控件,及其事件方法.根据成员方法的注解进行绑定,根据成员变量的注解进行绑定,设置事件的监听器,对控件赋值,注意:它必须在activity调用了setContentView之后调用.

Android按键添加和处理的三个解决

 实现方案需求:Android机器上有个Wifi物理按键,现在需求通过点击"wifi物理按键"能够快速的开启/关闭wifi. 经过思考之后,拟出下面几种方案: 方案一,在linux kernel的驱动中捕获"wifi物理按键".在kernel的按键驱动中截获"wifi"按键,并对其进行处理:若是"wifi"是开启的,则关闭wifi:否则,打开wifi. 方案二,在Android中添加一个服务,监听wifi按键消息.若监听到&q