當前位置:首頁 » 安卓系統 » 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 18:55:21 瀏覽:933
本地建mysql資料庫 發布:2025-02-06 18:54:23 瀏覽:761
屏幕看不清了如何輸密碼 發布:2025-02-06 18:51:14 瀏覽:332
手機開腳本買個什麼配置的 發布:2025-02-06 18:45:59 瀏覽:111
python代碼輸入 發布:2025-02-06 18:32:35 瀏覽:562
易語言上傳ftp文件夾 發布:2025-02-06 18:31:09 瀏覽:73
仿qq源碼java 發布:2025-02-06 18:24:06 瀏覽:424
阿里雲訪問mysql資料庫 發布:2025-02-06 18:17:57 瀏覽:789
原神遊戲伺服器ip 發布:2025-02-06 17:54:23 瀏覽:811
如何查筆記本電腦的真正配置 發布:2025-02-06 17:48:07 瀏覽:82