androidfb
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家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良。