Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

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

From 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 19:19.
246 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.

×