Android源码中添加C可执行程序
在Android源码中添加C/CPP可执行程序一般保存在external目录中
下面是每个文件的内容
①add.c
#include "add.h" int add (int a, int b)
{
return a+b;
}
②add.h
#ifndef __ADD_H__
#define __ADD_H__ int add(int a, int b); #endif
③main.c
#include <stdio.h>
#include <cutils/log.h>
#include <utils/Log.h>
#include "add.h" int main (void)
{
printf("------------------\n");
printf("test c executable app %d\n",add(,));
ALOGD("test-c-app value is %d",add(,));
printf("------------------\n"); return ;
}
④Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := test_c_app
LOCAL_SRC_FILES :=$(call all-subdir-c-files)
LOCAL_SHARED_LIBRARY := liblog
LOCAL_LDLIBS := -llog include $(BUILD_EXECUTABLE)
下面是运行结果
Android源码中添加C可执行程序的更多相关文章
- Android源码中添加APP
参考罗升阳<Android系统源代码情景分析> 在Android源码中,我们通常把实验性质的Android APP放在packages/experimental目录下.对于一个简单的应用程 ...
- 在Android 源码中添加系统服务
Android系统本身提供了很多系统服务,如WindowManagerService,PowerManagerService等.下面描述一下添加一个系统服务的具体步骤. 1.定义自定义系统服务接口 撰 ...
- Eclipse与Android源码中ProGuard工具的使用
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...
- Eclipse与Android源码中ProGuard工具的使用(代码混淆)
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...
- Android源码中的FLAG为何使用16进制
1.在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志. 比如View.java中的 /** * This view does not want keyst ...
- 关于android源码中的APP编译时引用隐藏的API出现的问题
今天在编译android源码中的计算器APP时发现,竟然无法使用系统隐藏的API,比如android.os.ServiceManager中的API,引用这个类时提示错误,记忆中在android源码中的 ...
- 访何红辉:谈谈Android源码中的设计模式
最近Android 6.0版本的源代码开放下载,刚好分析Android源码的技术书籍<Android源码设计模式解析与实战>上市,我们邀请到它的作者何红辉,来谈谈Android源码中的设计 ...
- 在Android源码树中添加userspace I2C读写工具(i2c-util)
在Android源码树中添加userspace I2C读写工具(i2c-util) http://blog.csdn.net/21cnbao/article/details/7919055 分类: A ...
- 在Android源码中查找Java代码中native函数对应的C++实现
Android源码中很多关键代码都是C++实现的,java通过jni来调用,经常会看到java中这样的代码: static native Thread currentThread(); 如何根据方法名 ...
随机推荐
- hdu 5884 Sort 队列+多叉哈夫曼树
Sort Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Des ...
- CSDN_帖子__WapPc
CSDN的帖子,Wap版 和 PC版 网址对应关系: 1. 举个例子: 手机版的网址: http://bbs.csdn.net/wap/topics/391891319 PC版的网址: http:// ...
- poi读取Excel内容数据
public static void main(String[] args) { try{ //获取文件输入流 FileInputStream fileIn = new FileInputStream ...
- Eclipse下使用Maven建立简单Springboot程序
1.创建Maven工程 2.编写pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...
- Qt5 窗口内的控件随窗口大小自动变化
http://www.bubuko.com/infodetail-827151.html 讲的很详细
- hdu 3410 单调栈
http://acm.hdu.edu.cn/showproblem.php?pid=3410 Passing the Message Time Limit: 2000/1000 MS (Java/Ot ...
- TCP/IP Socket 的理解
网络由下往上分为:物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. TCP 协议对应于传输层,HTTP 协议对应应用层,Socket 则是对 TCP/IP 协议的封装. ...
- JS中的“use strict” 严格模式
1.介绍严格模式 2.严格模式影响范围 变量: var.delete.变量关键字 对象: 只读属性. 对象字面量属性重复申明 函数:参数重名.arguments对象.申明 其他:this.eval. ...
- 分布式_理论_02_Base 理论
一.前言 五.参考资料 1.分布式理论(二)——Base 理论 2.分布式理论(二) - BASE理论
- css Flex布局(一)
网页布局(layout) 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 6个属性 ...