当前位置:首页 » 安卓系统 » androidc

androidc

发布时间: 2022-02-15 14:50:34

1. 如何在安卓上用C语言

害哥搞这个离线包搞了个把小时。为了清楚,上个图: 敲个LS,什么东西都没有,这个目录是cygwin的安装目录下面的home文件夹下的用户名文件夹。接下来是配置与Android相关的。在home/用户名,这个文件夹下有一个文件为.bash_profile,打开它,到最后添加两行NDK的环境变量:NDK_ROOT=/cygdrive/d/android-ndk-r6export NDK_ROOT上面的意思是,ndk的目录是,d:/android-ndk-r6添加完之后,关闭Cygwin重新启动一下,然后敲入cd $NDK_ROOT,是否进入到ndk的目录了?否则就看看哪个字母错了。在ndk的目录下samples下有很多例子,随便弄个就可编译了。下面是新建一个项目,以对C语言在项目中的位置更清楚。打开Eclipse新建一个Android项目,取名hellojni,为了清晰,便于维护,及各种各样的好处,JNI的java代码单独一个类,单独一个包。其实最好能不用JNI就别用JNI,这东西负作用巨大,特别是在用到JNI复杂的地方,什么内存啊,类型啊,哪里调用的方法,异常啊,可靠性都非常麻烦。非要用JNI的复杂功能,做好两件事,做之前充分设计,设计之前充分学习一下JNI文档。当然对于一些简单的应用,那只需要充分仔细。作好参数,返回值的检查,记得释放内存就行了。
打字不易,如满意,望采纳。

2. 如何在android设备上面跑C或C++程序

不能开发完整的程序,但你可以把逻辑算法封装在c/c++开发的.so库文件中,然后在java层使用jni进行调用。 要使用C/c++需要安装eclipse+cdt+ndk 但你仍然需要java开发环境eclipse+adt+sdk

3. android 底层是 c还是c++

安卓是基于linux的操作系统,所以应该说是C语言,但c++兼容C语言,说是c++也没错。

4. 如何在Android系统源码中添加C项目

以hello_android为例,步骤如下:

1、在external目录下创建hello_android目录,然后在hello_android目录中编写hello_android C语言实现文件hello_android.h,hello_android.c:

(注:hello_android目录可以放置在Android系统源码下的任意目录中,并非一定要在external下。)hello_android.h

#include<stdio.h>

#include<stdlib.h>void makePrintf(char *str)

{

printf("%s", str);

}hello_android.c

#include <stdio.h>

#include <stdlib.h>

#include "hello_android.h"int main(int argc, char** argv)

{

makePrintf("hello, android!\n");return 0;

}

2、编写负责编译的Android.mk文件:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES := hello_android.cLOCAL_C_INCLUDES += $(LOCAL_PATH)LOCAL_MODULE := hello_androidLOCAL_MODULE_TAGS := enginclude $(BUILD_EXECUTABLE)

3、利用mm编译生成hello_android二进制可执行文件;

4、将helllo_android文件复制到/system/bin目录下执行:

#./hello_android

hello, android!

5、代码结构

$ pwd

external/hello_android

$ tree

5. C、C++、ANDROID、JAVA各有什么区别

1、C和C++
如果楼主学完C,想在下面领域大展身手,那么学C++吧
嵌入式开发、游戏开发、驱动开发、操作系统开发、数据挖掘、桌面软件开发等。
(具有黑客潜质)。
2、C#
C --> C# --> ASP.NET(Web开发)--> windows Form(基于C#的桌面程序开发)
在中小型网站和应用方面比较吃得开。
3、JAVA
C --> JAVA --> servlet和JSP --> struts2、spring、hibenate三大框架
一般大型的企业级应用都是用JAVA,或者大型系统的前台。
4、android
C-->JAVA
它是手机操作系统,主要基于JAVA API开发,所以要学JAVA啦(尤其是JAVA的J2ME)

c#、c++、java、还是android?都有什么区别?
(应用领域就不说了,在上面写了)
1、C++:功能强大,控制起来比较麻烦(牛人就另说了),不是一种纯面向对象的语言。
2、C#:其运行需要微软.Net Framework的支持,从C和C++继承而来的,是一种面向对象的语言,相对简单。
3、JAVA:也是一种面向对象的语言,需要JDK的支持。
4、android:是一种手机操作系统,都在上面开发一些JAVA小程序
希望对你有帮助、、

6. 手机的Android系统能在手机上用C/C++编程

可以,有个手机编程软件叫做C4droid,专门用来编译C/C++文件的,要下载支持库,不大的,你可以看看

7. 如何在 Android 系统中用 C 语言编写程序并执行

可以的,只要编译器支持,C语言程序不像JAVA,最终都会被编译器编译成机器代码的,所以关键是编译器能不能编译成相关CPU和操作系统支持的代码。dos是的批处理是不支持的。编写手机软件目前主要还是用C和JAVA,C用得最多

8. android 底层是用c还是c++

Linux系统是作为Android的底层操作系统

9. 关于 Android C语言 开发

刚好最近我正在学习android可以帮到你。
1.JAVA开发是Android的应用部分
2.C/C++语言开发是Android核心的部分
Android的C语言其实是指的Android底层的Linux内核开发,刚好你是学习Linux C语言的这样就有用武之地。Android的底层是由Linux开发的,并建立在Linux之上的JAVA虚拟机来实现的。
所以要学习Android C语言的开发,建议看看《Android系统原理及开发要点详解》着本书讲的内容都是底层的内容,一定要买。不过JAVA语言的部分也一定要看,因为C语言做的驱动最后还是需要被JAVA虚拟机调用。
另外要做AndroidC语言开发还需要注意一下几点:
1.需要购买开发板来学习,或者开源的手机,这样可以直观的了解驱动的运作模式和有效调试
2.需要下载android源代码,因为Android SDK开发是不会用到C语言的
3.android的NDK开发其实也是C/C++语言调用一些函数来实现,建议也看
4.最后这个网址可以去看,多是讲底层资料的:http://bbs.starandroid.com/showtopic.aspx?topicid=10712&page=end

建议:
1.JAVA还是要看的
2.建议往Android底层硬件开发走

10. 如何在android系统上执行c文件

本人使用mini6410开发了一个sqlite数据库的程序,在mini6410的linux系统下已经能够成功运行了。因为Android使用的也是linux内核,所以我想当然的认为按照同样的方法将程序移植到mini6410的android系统中也可以成功运行,但是当我运行程序的时候却提示我不能找到可执行文件(xlisten-arm是交叉编译出来的可执行文件): / # ./xlisten-arm /system/bin/sh: ./xlisten-arm: not found 1.探索: 在网上搜索起初认为可能是库文件的不全导致的,于是在查看可执行文件xlisten-arm所需要的动态链接库: 执行语句: # arm-linux-readelf -a ./xlisten-arm grep "Shared" 0x00000001 (NEEDED) Shared library: [libsqlite3.so.0] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libpthread.so.0] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libc.so.6] 知道所需的动态链接库后,到android文件系统中去照着写库文件,在目录/system/lib 中,果然缺少相应的库文件,于是认为找到了我问题的根源所在,在复制相应库文件的时候为了保留原来的属性,还特意用了 #cp -a filename dir 谁知将这些库都添加进去以后,仍然无济于事! 看来不仅仅事库文件缺失的问题了,而且一般来说,如果真的是因为缺少库文件而导致的问题,终端会提示我们链接某库文件时没有找到该库文件。 2.正确的解决方法: 将程序编译的时候选择静态编译,即使用选项 -static 我是对Makefile文件中的CFLAG变量进行修改 CFLAGS = -Wall 改为; CFLAGS = -Wall -static 然而此时又出现问题了: undefined reference to `pthread_mutex_*' undefined reference to `dl*' 提示没有定义这些函数,于是在包含的库文件中添加了这两个库文件 在Makefile中,修改LIBS变量; LIBS = -lsqlite3 -lm -lcrypt 改为: LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl 然后进行交叉编译,成功了! 编译出来的可执行文件比较大,因为事静态编译的,我的有2M多, 拷贝到开发板的andriod系统中, 修改权限: #chmod 777 xlisten-arm 执行: / # ./xlisten-arm OK!能够正确的执行了!

热点内容
解压前面签 发布:2025-02-06 16:02:00 浏览:322
华硕访问点 发布:2025-02-06 15:56:57 浏览:330
excel拼接sql 发布:2025-02-06 15:50:10 浏览:501
加密手机直播 发布:2025-02-06 15:49:31 浏览:534
自带ftp服务器好用吗 发布:2025-02-06 15:26:11 浏览:109
win7访问xp局域网 发布:2025-02-06 15:17:07 浏览:524
均线差算法 发布:2025-02-06 15:13:22 浏览:460
androidbrowser 发布:2025-02-06 15:09:49 浏览:623
勇敢的心ftp 发布:2025-02-06 15:09:03 浏览:327
php日志分析 发布:2025-02-06 15:08:19 浏览:875