當前位置:首頁 » 安卓系統 » androidfb

androidfb

發布時間: 2022-04-26 18:09:53

A. android 驅動上上怎樣實現兩個lcm屏。fb0 對應主屏,再創建一個fb1對應子屏嗎

對最好兩個fb 可以兩個屏幕可以用不同的buffer 然後你的硬體板子上要驅動兩個lcm控制器

B. 在android中如何編譯連接 c 的可執行文件

1. 在./development目錄下創建一目錄 如:myhello
2. 進入hello目錄,在其下編寫自己的.c文件,如: myhello.c
#include <stdio.h>
int main()
{
printf("hello world\n");
exit(0);
//return 0;
}
3. 在hello目錄中,編寫Android.mk, 內容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myhelloworld
LOCAL_SRC_FILES := myhello.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)
4. 回到Android源代碼頂層目錄,進行編譯,make myhelloworld
5. 生成的可執行文件位於:out/target/proct/lotus/system/bin/ 目錄下
6. adb push 到手機 /data 目錄下,然後進入adb shell,到data目錄下,執行./myhelloworld 皆可

手動編譯連接【arm-eabi-gcc 的目錄隨andorid的版本而有變化,還有就是需要鏈接的文件如果比較多時,需要很多-l 就很麻煩了】
7、編譯成目標文件:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -I bionic/libc/arch-arm/include/ -I bionic/libc/include -I bionic/libc/kernel/common -I bionic/libc/kernel/arch-arm -g -c helloworld.c -o hello.o
8、生成可執行代碼:
#$(yourAndroid)/prebuilt/linux-x86/toolchain/[arm-eabi-4.2.1]/bin/arm-eabi-gcc -nostdlib -Bdynamic -Wl,-T,build/core/armelf.x -Wl,-dynamic-linker,/system/bin/linker -Wl,--gc-sections -Wl,-z,noreloc -o helloworld -Lout/target/proct/[generic]/obj/lib -Wl,-rpath-link=out/target/proct/[generic]/obj/lib -lc hello.o -entry=main

其中[ ]中部分根據實際情況修改

**************************************************
實驗:
1. 建目錄(my Android)/development/test, 在該目錄下新建 Android.mk和fb_test.c文件

2. Android.mk文件

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myfbtest
LOCAL_SRC_FILES := fb_test.c
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)

3. 以下為fb_test.c
#include <fcntl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <linux/kd.h>

#include <stdio.h>

#define FBBIT_PER_PIXEL 32
#define FBBIT_PIXEL_IMAGE 16
#define PIXELS_WIDTH_BYTE 4
#define BYTE_PER_PIXEL 3
#define FB_GRAPHICS_PATH "/dev/graphics/fb0"
#define DEV_TTY0_PATH "/dev/tty0"

#define DISPLAY_ERROR -1
#define DISPLAY_SUCCESS 0

#define GET_BATTERYCAPACITY_ERR -1

#define MAX_STR 255

static struct {
int fd;
void *pixels;
struct fb_fix_screeninfo fixed;
struct fb_var_screeninfo var;
int align_xres;
} fb;

int getBatteryCapacity(void)
{
FILE *in;
char tmpStr[MAX_STR + 1];
char capfile[] = "/sys/class/power_supply/battery/capacity";

if (capfile == NULL)
return GET_BATTERYCAPACITY_ERR;

in = fopen(capfile, "rt");
if (in == NULL)
return GET_BATTERYCAPACITY_ERR;

if (fgets(tmpStr, MAX_STR, in) == NULL) {
printf("Failed to read battery capacity!\n");
fclose(in);
return GET_BATTERYCAPACITY_ERR;

}

printf("Battery capacity(ascii): %s\n", tmpStr);
fclose(in);

return 0;//atoi(tmpStr);
}

static int vt_set_graphicsmode(int graphics)
{
int fd, r;
fd = open(DEV_TTY0_PATH, O_RDWR | O_SYNC);
if (fd < 0)
return DISPLAY_ERROR;
r = ioctl(fd, KDSETMODE, graphics);
close(fd);
return r;
}

int display_init(void)
{
fb.fd = open(FB_GRAPHICS_PATH, O_RDWR);
if (fb.fd < 0)
return DISPLAY_ERROR;

if (ioctl(fb.fd, FBIOGET_FSCREENINFO, &fb.fixed) < 0)
return DISPLAY_ERROR;
if (ioctl(fb.fd, FBIOGET_VSCREENINFO, &fb.var) < 0)
return DISPLAY_ERROR;
fb.align_xres = fb.fixed.line_length /
(fb.var.bits_per_pixel >> BYTE_PER_PIXEL);

fb.pixels = mmap(0, fb.fixed.line_length * fb.var.yres_virtual,
PROT_READ | PROT_WRITE, MAP_SHARED, fb.fd, 0);
if (fb.pixels == MAP_FAILED)
return DISPLAY_ERROR;

vt_set_graphicsmode(KD_GRAPHICS);

memset(fb.pixels, 0, fb.fixed.line_length * fb.var.yres_virtual);
//display_update(fb.pixels, fb.align_xres, fb.var.yres);
fb.var.activate = FB_ACTIVATE_FORCE;
ioctl(fb.fd, FBIOPUT_VSCREENINFO, &fb.var);

printf("display_init ok\n");

return DISPLAY_SUCCESS;
}

void display_on(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_UNBLANK);
}

void display_off(void)
{
ioctl(fb.fd, FBIOBLANK, FB_BLANK_POWERDOWN);
}

int main()
{
display_init();
display_off();//關顯示屏

getBatteryCapacity();
sleep(5);

display_on();//開顯示屏

return 0;
}

C. android fbreader刪除書籍時,怎麼把該書籍的信息、緩存、本地存的一些數據刪除掉

你在設置那找到應用程序,在那找到你說的這個軟體,點擊後,就能清楚了。

D. 安卓手機怎麼下載facebook

在應用市場下載啊,或者用360手機助手以及應用寶也可以,這兩個也是很好的應用平台的

E. 安卓手機怎麼下載facebook軟體

安卓手機怎麼下載facebook軟體?Facebook messager就是Facebook專屬的一個聊天工具。

幾乎所有的發消息的功能都是集中在Facebook Messenger上面,當然他除了發送消息之外,它其實還可以匹配我們的手機通訊錄,達到加好友的功能。同時他也向Facebook推薦好友一樣會推薦一些朋友的朋友給我們,這是為了方便我們拓展Facebook的相關數據。

在前面的文章我們有講過Facebook安卓手機端的安裝方法。

其實他們的方法是一樣的。下載地址: http://lieshou.com/download/
就是安裝包不一樣,其他所有的步驟都是一樣的,我們在 Facebook安卓手機安裝的文章裡面有詳細的講到。

那麼這里重點說一下什麼呢?就是Facebook版本的話我們可以應用很老的版本都可以,他有些特殊的地方可以自動更新,但是Facebook message就不太一樣了,它必須要求我們強制更新,如果你安裝的版本太老了的話,他是不支持的。

而且還有一個問題就是,如果你安裝了最新版本的,那麼你再想回去安裝老一些的版本也是不支持的,這1.1定要注意。

F. fb 投廣告 是否可區分蘋果手機還是安卓

可以區分。
FB一樣,高度依賴廣告業務,所以谷歌的隱私標簽可能不會像蘋果那麼嚴格,但很顯然,谷歌認為用戶會在意這件事,如果自己不跟進,可能會導致Android難以和iOS競爭。

G. 求大神解答android framebuffer fb0文件讀取許可權問題

小米1肯定可以打開,
moto有的手機就是打不開fb0,貌似是內核編譯時設置的(不確定)?
還有就是凡是tegra顯卡的fb,打開了截到的也是黑屏或一張不變的logo,
有些播放器的輸出或是低版本android的攝像頭,fb里都截不到,overlay問題?

直接截fb通用性很難保證。

從android上層截屏還沒試,可能效率會有問題,
你不妨試一下,結果我也想知道。

H. android fb285edb38d74aa7這事什麼意思

這是哪裡出現的?

I. 安卓版FACE能不能用

安卓版FACE不能用。

Facebook(臉書,臉譜網 )公司創立於2004年2月4日,總部位於美國加利福尼亞州門洛帕克。2012年3月6日發布Windows版桌面聊天軟體Facebook Messenger。主要創始人馬克·扎克伯格(Mark Zuckerberg)。

Facebook是世界排名領先的照片分享站點,截至2013年11月每天上傳約3.5億張照片。截至2012年5月,Facebook擁有約9億用戶。Facebook的總部設在矽谷的門洛帕克(Menlo Park)——1 Hacker Way。

安卓介紹:

安卓(Android)是一種基於Linux內核(不包含GNU組件)的自由及開放源代碼的操作系統。主要使用於移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。Android操作系統最初由Andy Rubin開發,主要支持手機。

2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良。

熱點內容
太原php培訓班 發布:2025-05-15 08:41:38 瀏覽:936
豌豆伺服器地址 發布:2025-05-15 08:34:56 瀏覽:712
linux下php編譯安裝 發布:2025-05-15 08:30:37 瀏覽:592
c語言八進制十六進制 發布:2025-05-15 08:22:17 瀏覽:282
華為安卓如何更新鴻蒙 發布:2025-05-15 08:18:52 瀏覽:373
工商密碼器是什麼 發布:2025-05-15 08:18:50 瀏覽:751
c語言自考 發布:2025-05-15 07:52:42 瀏覽:501
壓縮的玉 發布:2025-05-15 07:51:22 瀏覽:790
android的控制項 發布:2025-05-15 07:50:36 瀏覽:553
南崗法院伺服器ip地址 發布:2025-05-15 07:46:02 瀏覽:288