日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

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

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

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

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

接著我們來寫一個(gè)hello world來驗(yàn)證功能:(文件名: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的版本則相對(duì)比較復(fù)雜,我們還是直接寫一個(gè)Makefile吧,避免手工輸入太長容易出錯(cuò),同時(shí)Makefile中也增加了macos的編譯部分。gtk雖然看上去很陳舊、落伍,但是跨平臺(tái)用起來,其實(shí)比很多主流應(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上測(cè)試這個(gè)程序,需要越獄kindle,在KPW2之間的版本,在網(wǎng)上搜索,有軟件的方法越獄。之后的版本就復(fù)雜了,可能還需要拆機(jī)引串口線的方式。

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

項(xiàng)目的源碼可以到主機(jī)寶貝資源站下載:

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


網(wǎng)頁名稱:在Ubuntu上搭建KindleGTK開發(fā)環(huán)境
新聞來源:http://www.dlmjj.cn/article/dpjigge.html