×
Namespaces

Variants
Actions
Revision as of 13:51, 13 June 2012 by hamishwillee (Talk | contribs)

Como criar Pacotes Debian para aplicações em Qt para Maemo 5 e mostrá-la no Menu

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Compatibilidade
Plataforma(s):
Symbian

Artigo
Tradução:
Por flaviofabricioferreira
Última alteração feita por hamishwillee em 13 Jun 2012

Contents

Introduçao

Neste artigo ,eu irei mostrar como criar um pacote .deb. Fazer isto e comum , mas a diferença esta em ser Qt para Maemo. Uma outra utilidade que irei mostrar neste artigo e como colocar uma aplicacao Qt no Menu do Dispositivo com Maemo.

Helloworldmaemo5qt 4.png

Resumo sobre Pacotes Debian

Deb se trata de uma extensao com o formato de pacote de software Debian que e tambem conhecido como pacote de binarios. Deb faz referencia a uma parte do termo Debian. Pacotes Debian sao usados em distribuicoes baseadas em Debian como por exemplo o Ubuntu e outros.

Pre-requisitos

Voce precisa ter libqt4-dev ,ScratchBox and Maemo SDK instalados no seu computador e libqt4-dev instalada em seu Scratchbox tanto na versao X86 como na versao ARM e ainda no seu Dispositivo Maemo(N800,N810,N900). Para mais informaçoes sobre a instalaçao do ScratchBox clique aqui .


Criando a Aplicaçao

Helloworldmaemo5qt 1.png

Voce precisa criar um simples projeto Qt HelloWorld no seu computador. Eu criei um projeto com dois labels como e mostrado acima. Lembre-se de definir o tamanho do QWidget em 720 de largura por 420 de altura que e a resoluçao do Dispositivo Maemo.

Copiando a Aplicaçao para o Scratchbox

Primeiro , copie os codigos fontes da aplicaçao para uma pasta no Scratchbox. Em Geral , o endereço e /scratchbox/users/username/home/username/. Eu fiz assim:

flavio@flavio-desktop:~/workspace$ cp -r  HelloWorld/ /scratchbox/users/flavio/home/flavio/

Compilando a Aplicaçao no Scratchbox

Inicialmente, voce precisa logar no Scratchbox:

~$ /scratchbox/login

Se necessario selecione o alvo(target) para ARM usando o comando sb-menu. Para compilar faça assim:

[sbox-FREMANTLE_ARMEL: ~] > cd HelloWorld
[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > qmake
[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > make

Criando a Arvore do Pacote Debian

Depois disto, voce precisa criar as seguintes pastas:

[sbox-FREMANTLE_ARMEL: ~/HelloWorld] cd ..
[sbox-FREMANTLE_ARMEL: ~] > mkdir HelloWorldApplication
[sbox-FREMANTLE_ARMEL: ~] > mkdir HelloWorldApplication/DEBIAN

Voce ira precisar criar um arquivo de controle para o seu pacote usando um simples editor de texto. Neste post eu usei o Vi.

[sbox-FREMANTLE_ARMEL: ~] > vi  HelloWorldApplication/DEBIAN/control

Neste passo eu mostro os campos necessarios para preencher o arquivo de controle e a informacao necessaria para os mesmos. A sintaxe para os campos e muito simples: o nome do campo seguido por dois pontos e o valor do campo.

Package: HelloWorld
Priority: optional
Version: 1.0
Architecture: all
Maintainer: Flavio Fabricio <flaviofabricio@gmail.com>
Depends: libqt4-dev
Description: This is a HelloWorld Application

Retorne para o diretorio da aplicaçao do HelloWorld e crie as seguintes pastas:

[sbox-FREMANTLE_ARMEL: ~] > cd  HelloWorldApplication/
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication] > mkdir usr

Criando /usr subdiretorios:

[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication] > cd usr/
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr] > mkdir bin
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr] > mkdir lib
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr] > mkdir share

Criando /share subdiretorios:

[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr] > cd share/
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr/share] > mkdir applications
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr/share] > mkdir pixmaps

Criando hildon subdiretorios que sao as pastas onde ficam os arquivos .desktop:

[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr/share] > cd applications
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr/share/applications] > mkdir hildon

Criando o arquivo que coloca a Aplicacao no Menu do Dispositivo Maemo

Voce precisa criar tambem um arquivo .desktop o qual o Maemo usa para colocar a aplicaçao no Menu.

[sbox-FREMANTLE_ARMEL: cd /HelloWorldApplication/usr/share/applications/hildon
[sbox-FREMANTLE_ARMEL: ~/HelloWorldApplication/usr/share/applications/hildon]>vi helloworld.desktop

Aqui nos iremos adicionar o endereço do arquivo executavel, do arquivo de icone , etc...

[Desktop Entry]
Categories=Qt;
Encoding=UTF-8
Version=0.1
Type=Application
Name=Qt HelloWorld
Exec=/usr/bin/HelloWorld
Icon=helloworld

Copiando a Aplicaçao compilada para arvore do Debian

[sbox-FREMANTLE_ARMEL: ~] > cd HelloWorld
[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > ls
HelloWorld     helloworld.cpp  main.cpp       helloworld.png  
HelloWorld.pro helloworld.h    helloworld.ui  ui_helloworld.h 

Neste passo , voce ira copiar o arquivo executavel para a pasta /usr/bin. Este executavel e envocado por helloworld.desktop na linha Exec=/usr/bin/HelloWorld no arquivo descrito abaixo.

[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cp helloworld ../HelloWorldApplication/usr/bin/

Agora , voce ira copiar os arquivos fontes para pasta /usr/lib. Isto e recomendado , mas nao e requerido.

[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cp HelloWorld.pro ../HelloWorldApplication/usr/lib/
[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cp helloworld.cpp ../HelloWorldApplication/usr/lib/
[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cp helloworld.h ../HelloWorldApplication/usr/lib/
[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cp helloworld.ui ../HelloWorldApplication/usr/lib/
[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cp main.cpp ../HelloWorldApplication/usr/lib/

Voce ira precisar de uma imagem para usar como icone. Voce pode procurar alguma imagem em Google Imagens. Neste caso eu renomeei a imagem para helloworld.png. Esta imagem e chamada pelo arquivo helloworld.desktop na linha Icon=helloworld do arquivo descrito acima e salvo na pasta /usr/share/pixmaps/.

[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cp helloworld.png ../HelloWorldApplication/usr/share/pixmaps/

Criando o Pacote Debian

[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > cd ..
[sbox-FREMANTLE_ARMEL: ~] > dpkg-deb -b HelloWorldApplication

Enviando o Pacote .Deb para o Dispositivo Maemo

Eu usei o comando [Scp] com o endereço IP do dispositivo. O endereço IP do dispositivo e achado em Settings->Connection Manager , depois disto , clique em Connection Manager e na Quina Esquerda da Tela->internet connection->IP address.

[sbox-FREMANTLE_ARMEL: ~/HelloWorld] > scp HelloWorldApplication.deb root@10.0.0.13:/home/

Instalando o Pacote .Deb para o Dispositivo Maemo

Abri um novo terminal e digitei:

ssh root@10.0.0.13

Entrei com a senha do Dispositivo Maemo

root@10.0.0.13's password:
Nokia-N900-43-7:~# cd ..
Nokia-N900-43-7:/# cd /home/
Nokia-N900-43-7:/home# dpkg -i HelloWorldApplication.deb

Agora a aplicaçao esta instalada no Dispositivo Maemo .

Voce ira precisar clicar em More... Menu e entao voce podera ver a aplicaçao HelloWorld:

Helloworldmaemo5qt 5.png

64 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×