日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在Ubuntu上搭建KindleGTK開發(fā)環(huán)境

某個角度上說,Kindle很類似Android,同樣的linux內(nèi)核,同樣的Java用戶層。不過Kindle更注重簡單、節(jié)能、穩(wěn)定。Amazon一向認(rèn)為,功能過多會分散人們閱讀時候的注意力。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)與策劃設(shè)計,大足網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:大足等地區(qū)。大足做網(wǎng)站價格咨詢:18980820575

Kindle底層的Linux比Android保持了更多的Linux兼容性,可以使用GTK或者QT編寫程序。QT適合編寫大的、獨占界面性的應(yīng)用,比如多看就曾經(jīng)發(fā)布過一個Kindle之上的版本,現(xiàn)在還有很多人用,可惜因為公司戰(zhàn)略調(diào)整的原因,這個產(chǎn)品被廢棄了。GTK及最基本的Linux應(yīng)用更適合開發(fā)一些補丁性的小程序,來補充Kindle的基本功能。在ubuntu上搭建Kindle的gtk開發(fā)環(huán)境非常簡單,只需要一條命令:

sudo apt-get install pkg-config gcc-arm-linux-gnueabi libgtk2.0-dev

接著我們來寫一個hello world來驗證功能:(文件名:testGtk.c)

#include

static void hello( GtkWidget *widget,gpointer data ) {
    gtk_main_quit ();
}

static gboolean delete_event( GtkWidget *widget, GdkEvent  *event, gpointer  data ) {
    g_print ("delete event occurred\n");
    return FALSE; // we do want to quit
}

static void destroy( GtkWidget *widget, gpointer  data ) {
    gtk_main_quit ();
}

int main( int  argc, char *argv[] ) {

    GtkWidget *window;
    GtkWidget *button;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    g_signal_connect (window, "delete-event", G_CALLBACK (delete_event), NULL);
    g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    button = gtk_button_new_with_label ("Hello World");
    g_signal_connect (button, "clicked", G_CALLBACK (hello), NULL);
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_window_set_title ( GTK_WINDOW(window) , "L:A_N:application_ID:test");
    gtk_widget_show_all (window);

    gtk_main ();
    return 0;
}

接著先在桌面Linux電腦上編譯來試一下:

gcc -o testGtk testGtk.c `pkg-config gtk+-2.0 --cflags --libs`

在電腦上執(zhí)行./testGtk,可以看到結(jié)果正確。

交叉編譯kindle的版本則相對比較復(fù)雜,我們還是直接寫一個Makefile吧,避免手工輸入太長容易出錯,同時Makefile中也增加了macos的編譯部分。gtk雖然看上去很陳舊、落伍,但是跨平臺用起來,其實比很多主流應(yīng)用還要順暢。

GCC=gcc
ARMGCC=arm-linux-gnueabi-gcc
ARMLIBS=`pkg-config gtk+-2.0 --cflags` -L/usr/arm-linux-gnueabi/lib/ -L/home/andrew/dev/kindleLib/ -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrender -lXinerama -lXext -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXdamage -lXfixes -latk-1.0 -lcairo -lpixman-1 -lpng12 -lxcb-shm -lxcb-render -lX11 -lxcb -lXau -lXdmcp -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lffi -lgmodule-2.0 -lgthread-2.0 -lglib-2.0

keys = testKindleGtk

all:$(keys) $(objs)

testKindleGtk:testGtk.c
    $(ARMGCC) -o testKindleGtk testGtk.c $(ARMLIBS)
   
x86:
    gcc -o testGtk testGtk.c `pkg-config gtk+-2.0 --cflags --libs`
osx:
    export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig && gcc -o testGtk testGtk.c `pkg-config gtk+-2.0 --cflags --libs`
clean:
    rm $(keys) testGtk

不好意思,原諒我把最重要的放到最后說,在kindle上測試這個程序,需要越獄kindle,在KPW2之間的版本,在網(wǎng)上搜索,有軟件的方法越獄。之后的版本就復(fù)雜了,可能還需要拆機引串口線的方式。

不過總感覺kindle的越獄還是很有意義的,主要是原生系統(tǒng)對于純文本的排版水平實在太差,我就是越獄后裝了再也見不到更新的多看系統(tǒng)。

項目的源碼可以到主機寶貝資源站下載:

具體下載目錄在 /2018年資料/3月/24日/在Ubuntu上搭建Kindle GTK開發(fā)環(huán)境/


名稱欄目:在Ubuntu上搭建KindleGTK開發(fā)環(huán)境
本文鏈接:http://m.5511xx.com/article/dpjigge.html