terça-feira, 28 de fevereiro de 2012

Motorola defy rooting android 2.2.1

Eu estava pesquisando na net formas de obter acesso root no meu defy com android 2.2.1 e achei o seguinte post:
- [Rom] Cyanogenmod 7 – 2.3.7 Defy

Este foi o post mais completo, fácil e seguro que achei de realizar o processo, inclusive, para quem quiser fazer a atualização para o android 2.3.7 custom ROM cm7, pra mim funcionou muito bem e o aparelho fica muito, mas muito melhor mesmo.

Para evitar o risco dos links do post do amigo quebrarem, eu baixei aqui os arquivos necessários para fazer o root e o boot de configuração:
- GingerBreak
- SndInitDefy-1.4.2

Obs.:
- Para baixar os arquivos, clique com o botão direito no link e em seguida, “Salvar link Como”;
- Retire a extenção GIF antes de utilizar os arquivos e conserve a extenção apk;
- Para o rooting, use apenas o GingerBreak, o outro link será necessário apenas para iniciar o processo de troca de ROM;

Para fazer o rooting é muito simples:
1. Copie os arquivos acima para seu SDCard (na raiz pra ficar mais fácil);
2. Vá em configurações, Aplicativos, Desenvolvimento e habilite a opção Depuração USB;
3. Com algum programa de exploração de pastas, como o ASTRO, por exemplo, localize o GingerBreak e execute-o;
4. Após a instalação, abra o programa e clique no primeiro botão (Root Device);

Pronto, o processo de rooting vai se conduzir sozinho e reiniciará o aparelho.

Eu aconselho que o vídeo do post mencionado acima seja visto, o artigo do camaradinha é muito bom e completo.

OBS.: Para quem quiser instalar o CM7 seguindo o tutorial acima, após a instalação, use a banda da Claro mencionada no tutorial, eu sou usuário VIVO e pra mim funcionou perfeitamente com aquela opção. A banda “Viva” não funcionou muito bem.
Espero ter ajudado e fiquem a vontade pra comentar o post.

CSS media type

Ao criar uma página HTML, é possível fazer com que o visual da página seja diferente para diversos tipos de dispositivos de apresentação.

Uma forma bem simples de fazer isso é usando o parâmetro media ao criar o CSS na própria página ou no import de um arquivo CSS.

Abaixo dois exemplos básicos:
<style type="text/css" media="print">
   body {
     Background-color: #FFFFFF;
   }
</style>
<style type="text/css" media="screen">
   body {
     Background-color: #CCCCCC;
   }
</style>
Isso fará com que o fundo da página seja branca na página de impressa (OBS.: Os browsers costumam vir por padrão com a opção de impressão de imagens e cores de fundo desabilitada, ou seja, se outra cor fosse colocada, com essa configuração padrão, o fundo permaneceria branco) e na tela o fundo será um tom de cinza.

Quando não incluímos a opção media na criação do CSS, por padrão, seria como se tivessemos atribuido o valor “all” para esta propriedade.

Para importar um arquivo de estilos, o padrão é o mesmo:
<link rel="stylesheet" href="css/impressao.css" media="print" />
<link rel="stylesheet" href="css/tela.css" media="screen" />
Essa é a parte tranquila e básica da história, agora pode ocorrer a necessidade de fazer com que um HTML tenha que aparecer na tela de um jeito, ser impresso de outro e ainda ser enviado por email de outro jeito.

Este terceiro ponto pode ser um problema.

Navegando por sites a procura de coisas sobre o assunto encontrei o seguinte link que descreve um pouco a compatibilidade de cada programa de email com folhas de estilos:

Guide to CSS support in email

Para alguns pode ser bastante desanimador ao ver isso, e uma solução simples de implementar que achei de fato é descepcionante, mas, funcionou no caso de páginas JSP.

No meu caso, criei uma página JSP que recebe um parâmetro informando se ela será usada em um email ou não e ai, quando ela deverá ser utilizada no email ao invés de importar uma folha de estilos eu incluo o estilo diretamente no objeto, conforme exemplo abaixo:
... Código
 <td <%= email ? "style='text-align: left;'" : "class='tdDiferente'"%> >
... Código
É uma forma bem chata de tratar isso, mas no meu caso foi eficiênte, caso alguém tenha mais sugestões, eu agradeço o envio.

Assinando um JAR (JAVA WEB START)

Toda vez que criamos uma aplicação Java Web Start e precisamos que esta aplicação tenha alguns acessos a máquina cliente, é necessário incluir no arquivo JNLP a seguinte instrução:
<security>
  <all-permissions/>
</security>
O problema é que feito isso, é necessário assinar os jars que estão na lista que deve ser entregue a máquina cliente, abaixo criei um tutorial bem simples de como fazer isso.
- Primeiro – no diretório onde estão os jars, digite a linha de comando que segue:
keytool -genkey -alias macielbombonato -keystore macielbombonato.cert
- Escolha a senha (minimo de 6 caracteres):
Enter keystore password:
Re-enter new password:
- Responda o questionário:
What is your first and last name?
[Unknown]: XXX
What is the name of your organizational unit?
[Unknown]: XXX
What is the name of your organization?
[Unknown]: XXX
What is the name of your City or Locality?
[Unknown]: XXX
What is the name of your State or Province?
[Unknown]: XX
What is the two-letter country code for this unit?
[Unknown]: XX
Is CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XX, C=XX correct?
[no]: yes
Esses passos acima vão criar um certificado na pasta onde os jars estão, agora é necessário assinar cada um dos jars com esse certificado, para isso, basta utilizar a linha de comando abaixo:
jarsigner -verbose -keystore macielbombonato.cert -storepass 123456 -keypass 123456 
MeuJarAssinadoWebStart.jar macielbombonato
Caso não queira incluir as senhas nas linhas de comando para assinar os jars, basta não utilizar os parâmetros -storepass e -keypass, com isso, a senha será solicitada antes do jar ser assinado.

Dúvidas/Sugestões, por favor, comente este post.

Configure Proxy para subversion

Essa dica vale pra quem precisa configurar proxy para utilização do subversion no sistema operacional como um todo ou para a utilização do plugin do eclipse o subclipse.

Para quem estiver utilizando o sistema operacional Windows, um amigo achou na net a seguinte referencia: http://ykyuen.wordpress.com/2010/03/09/eclipse-configure-proxy-for-subclipse/

Abaixo irei colocar o texto retirado deste site para o caso do post algum dia sair do ar.

The Eclipse proxy setting does not apply on subclipse. So you cannot connect to a SVN repostory outside your firewall even you have set the proxy in Eclipse.
Luckily, i found the solution in MKVille Blog – Using Subclipse Behind a Proxy Server.
For Windows XP user
Open the C:\Documents and Settings\\Application Data\Subversion\servers
Configure the http-proxy-host and http-proxy-port settings under the [global] tag

For Windows 7 user
Open the C:\Users\\AppData\Roaming\Subversion\servers
Configure the http-proxy-host and http-proxy-port settings under the [global] tag

Done =)

Agora a pergunta, porque estou reescrevendo este post?

Para dar a dica para quem usa mac (ou linux).

No caso, basta realizar basicamente os mesmos passos que o autor do post original comentou, porém, usuários de mac devem usar o seguinte endereço:

/Users/[nome_do_usuario]/.subversion

Agora só preciso arrumar um tempo pra montar uns scripts pra ativar e desativar o proxy para quem é consultor e vai e vem para clientes.

Espero que este post ajude mais alguém.

Utilizando Git (Versionador) local

Versionando um diretório com git.
Dentro do diretório executar o comando:
$ git init
E depois:
$ git status
– Status do branch selecionado
$ git branch
– Exibe todos os branchs e marca com um asterisco o que está selecionado.
$ git add .
– . (ponto) adiciona todos arquivos que estão pendentes
– [nome do arquivo] adiciona um arquivo específico
$ git checkout -b [nome do branch]
– Criar um branch
$ git commit -am “[mensagem]“
– Commit das alterações
$ git checkout [nome do branch]
- Altera do branch atual para o branch mencionado

– Para "pegar" as alterações do branch master para outro branch qualquer:
$ git checkout [nome do branch]
$ git rebase master
– Para "mandar" as informações de um branch qualquer para o master:
$ git checkout master
$ git merge [nome do branch]
+ No caso do branch master ser remoto:
– Para atualizar seu master local:
$ git checkout master
$ git pull origin master
– Para atualizar o branch master remoto com suas alterações locais:
$ git checkout master
$ git push origin master

Editado (25/04/2012) - Inclusão de repositório remoto.

Os passos acima foram seguidos e o projeto está sendo versionado localmente apenas, porém, em dado momento eis que surge um servidor git para que o projeto seja versionado, neste caso, o git oferece recursos bem simples de alteração do repositório que o projeto deve apontar, para isso basta:

$ git remote add origin https://enderecodoseuservidor/aplicacao.git # Faz com que o host remoto git do seu projeto passe a ser este indicado na url
$ git push -u origin master # Para enviar os fontes para o branch master remoto pela primeira vez

Instalação/Preparação do Diaspora para desenvolvimento

Primeiros passos, preparando a casa:

Instalação do rvm:
bash < .rvmrc
cd .
rvm gemset create ‘diaspora’
cd ..
cd diaspora
Confirme as mensagens que aparecem.
bundle install
Tire a palavra exemplo do nome do arquivo database.yml, certifique-se de que as configurações de banco de dados que estão no arquivo conferem com as da sua máquina.

Tire a palavra exemplo do nome do arquivo app_config.yml.

No terminal execute o comando:
rake db:create db:migrate
Pronto!

Agora é só personalizar a aplicação.

Instalação Redis MacOS X e Linux em 30s

Acesse: http://redis.io/

Baixe o último release em algum local da sua máquina.

Descompacte e via terminal execute o seguite comando na pasta do redis.
sudo make install
Após a conclusão da instalação, basta executar o comando:
redis-server
Pronto!

Pré requisitos:
MacOS X: Xcode
Debian/Ubuntu: Pacote build-essential (sudo apt-get install build-essential).