×
Namespaces

Variants
Actions
Revision as of 22:19, 23 February 2013 by lpvalente (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)


Article Metadata

Compatibilidade
Plataforma(s):
Symbian

Artigo
Tradução:
Por flaviofabricioferreira
Última alteração feita por lpvalente em 23 Feb 2013

Contents

Introdução

{{AbstractNeste 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.}}

Postdeb1.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 e para Qt/Maemo clique aqui.


Criando a Aplicaçao

Postdeb0.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-DIABLO_ARMEL: ~] > cd HelloWorld
[sbox-DIABLO_ARMEL: ~/HelloWorld] > qmake
[sbox-DIABLO_ARMEL: ~/HelloWorld] > make

Criando a Arvore do Pacote Debian

Depois disto, voce precisa criar as seguintes pastas:

[sbox-DIABLO_ARMEL: ~/HelloWorld] cd ..
[sbox-DIABLO_ARMEL: ~] > mkdir HelloWorldApplication
[sbox-DIABLO_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-DIABLO_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-DIABLO_ARMEL: ~] > cd  HelloWorldApplication/
[sbox-DIABLO_ARMEL: ~/HelloWorldApplication] > mkdir usr

Criando /usr subdiretorios:

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

Criando /share subdiretorios:

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

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

[sbox-DIABLO_ARMEL: ~/HelloWorldApplication/usr/share] > cd applications
[sbox-DIABLO_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-DIABLO_ARMEL: cd /HelloWorldApplication/usr/share/applications/hildon
[sbox-DIABLO_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-DIABLO_ARMEL: ~] > cd HelloWorld
[sbox-DIABLO_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-DIABLO_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-DIABLO_ARMEL: ~/HelloWorld] > cp HelloWorld.pro ../HelloWorldApplication/usr/lib/
[sbox-DIABLO_ARMEL: ~/HelloWorld] > cp helloworld.cpp ../HelloWorldApplication/usr/lib/
[sbox-DIABLO_ARMEL: ~/HelloWorld] > cp helloworld.h ../HelloWorldApplication/usr/lib/
[sbox-DIABLO_ARMEL: ~/HelloWorld] > cp helloworld.ui ../HelloWorldApplication/usr/lib/
[sbox-DIABLO_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-DIABLO_ARMEL: ~/HelloWorld] > cp helloworld.png ../HelloWorldApplication/usr/share/pixmaps/

Criando o Pacote Debian

[sbox-DIABLO_ARMEL: ~/HelloWorld] > cd ..
[sbox-DIABLO_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-DIABLO_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-N810-43-7:~# cd ..
Nokia-N810-43-7:/# cd /home/
Nokia-N810-43-7:/home# dpkg -i HelloWorldApplication.deb

Agora a aplicaçao esta instalada no Dispositivo Maemo .

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

Postdeb2.png

This page was last modified on 23 February 2013, at 22:19.
109 page views in the last 30 days.