导航:首页 > 操作系统 > androidc

androidc

发布时间:2022-03-08 16:41:12

⑴ 如何在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!能够正确的执行了!

⑵ 安卓c语言 编程软件,apk的

你牛了 你说有可能吗?试一下wp8平板 这个wp8以后会有

⑶ 关于 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底层硬件开发走

⑷ 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小程序
希望对你有帮助、、

⑸ android 如何启动自己的c服务

01
首先,要在你的activity中启动这个服务,代码如下所示。
/*
* 启动一个延迟线程
*/
Intent serviceIntent=new Intent();
serviceIntent.setClass(Welcome.this, HoutaiService.class);
startService(serviceIntent);
>02
这个时候你就要去写你的服务了,如下图所示,这是和写的一个服务。
>03
注意,因为后台当中是没有界面的,所以不需要继承activity。但这个候你就会遇到一个问题就是如何与用户互动呢,那么下面就是一个方法。
代码如下。
NotificationManager nm=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
//2.实例化一个通知,指定图标、概要、时间
Notification n=new Notification(R.drawable.ic_launcher,"智能退出",System.currentTimeMillis());
//3.指定通知的标题、内容和intent
Intent intent = new Intent();
PendingIntent pi= PendingIntent.getActivity(HoutaiService.this, 0, intent, 0);
n.setLatestEventInfo(HoutaiService.this, "你已连续使用网络超3小时", "为防止长时间空闲网络,已退出。如需打开,请重新打开应用", pi);
//指定声音
n.defaults = Notification.DEFAULT_SOUND;
//4.发送通知
nm.notify(3, n);
>04
这段代码的意思是通过安卓中的通知来与用户进行交互。能够达到提示用户的目的,怎么样,是不是很简单。

⑹ C语言可以做安卓开发吗

Android底层是Linux操作系统,上层有个虚拟机,apk都是使用Java语言编写的,就看你做什么开发了,如果你想从事底层开发,比如驱动开发、内核开发,是使用C语言。
如果你想从事Android APP开发,使用Java语言。
如果你从事中间层、framework开发,使用Java、C++语言。

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

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

⑻ android C/S模式应用系统如何搭建框架

我来简单的说下,让你容易理解:
1.系统物理架构
android客户端------无线路由-------(web服务器,数据库)
2.技术选型
(android客户端)--->Web服务器(tomcat)--->数据库(mysql等)
客户端请求数据成功后,返回数据(可以通过Web Service、HTTP等方式进行网络通信)
(android客户端)<---Web服务器(tomcat)<-->数据库(mysql等)
3.创建客户端项目WirelessClient(到时安装在手机端)和服务器项目WirelessServer(安装在web服务器端PC机)。之后分别开发这两端的项目,手机端用android的API,服务器端用Java开发

这样可以帮助你简单的理解了吗?

⑼ 如何在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

⑽ 如何在安卓上用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文档。当然对于一些简单的应用,那只需要充分仔细。作好参数,返回值的检查,记得释放内存就行了。
打字不易,如满意,望采纳。

阅读全文

与androidc相关的资料

热点内容
什么app不花一分钱买东西 浏览:373
布林四线指标源码 浏览:968
单片机的控制板 浏览:218
襄阳软件编程 浏览:841
sshpass命令 浏览:106
logo服务器怎么下载 浏览:508
如何ftp连接服务器 浏览:674
creo自动编程 浏览:161
云服务器在电脑怎么开 浏览:432
ipad相册如何在文件夹中建文件夹 浏览:621
和家亲这个app有什么用 浏览:575
什么app里面有种树打折 浏览:374
编程外挂入门教学 浏览:974
pdf黑白转彩色 浏览:725
英国投资加密货币吗 浏览:887
看完程序员那么可爱后的感受 浏览:131
广播在什么APP能听 浏览:678
阿克曼小车连接什么app 浏览:773
all100编程器 浏览:182
加密的内存卡能用吗 浏览:923