Habilitando dispositivos Motorola no ADB em Linux


Olá, recentemente ao desenvolver um aplicativo para Android o ADB passou a não reconhecer mais meu aparelho no momento de depurações nas versões mais recentes do SDK disponibilizado pela Google.

A janela onde é feita a seleção do dispositivo onde deseja implantar o aplicativo surgia da seguinte forma:

Device Not Recognized

Após algumas pesquisas em fóruns e outros locais encontrei a seguinte solução que descrevo abaixo:

Abra uma janela do terminal e autentique com o usuário root, pois é necessário criar uma nova regra no udev.

No arquivo de regras que será criado, cada fabricante possui um ID único, conforme será especificado na propriedade ATTR{IdVendor}, veja a lista completa aqui.

Efetue login como root e crie este arquivo: /etc/udev/rules.d/51android.rules

Utilize este formato para adicionar cada fornecedor neste arquivo:
SUBSYSTEM==”usb”, ATTR{idVendor}==”<vendor>”, MODE=”0<permission>”, OWNER=”<user name>”, GROUP=”<group name>”

No meu caso como é um Motorola a configuração ficou da seguinte forma:

SUBSYSTEM==”usb”, ATTR{idVendor}==”22b8″, MODE=”0666″, OWNER=”elexsandro”, GROUP=”developers”

Salve o arquivo e execute o seguinte comando:

chmod a+r /etc/udev/rules.d/51-android.rules

A propriedade ATTR{idVendor} é o Id único de cada fornecedor conforme visto acima.

A propriedade MODE é o nível de permissão concedida  no formato octal;

A propriedade OWNER é o login do usuário que possuirá permissões administrativas sobre o dispositivo

A propriedade GROUP é o nome do grupo UNIX que possuirá permissões para gerenciar o dispositivo conforme o nível concedido na propridade MODE.

Após reinicializar o meu computador obtive o seguinte resultado:

ADB Recognize device perfect

Agora o dispositivo está pronto para testes,

Até a próxima 🙂

Programação orientada a objetos no ActionScript


Este post descreve os elementos do ActionScript que oferecem suporte à OOP (Programação orientada a objetos).
O capítulo não descreve princípios de OOP gerais, como design de objeto, abstração, encapsulamento, herança e
polimorfismo. Ele se concentra em como aplicar esses princípios usando o ActionScript 3.0.
Devido a raízes do ActionScript como uma linguagem de script, o suporte ao OOP do ActionScript 3.0 é opcional. Isso
fornece aos programadores flexibilidade para escolherem a melhor abordagem para projetos de vários escopos e
complexidades. Para tarefas pequenas, você pode chegar à conclusão de que usar o ActionScript com um paradigma
de programação de procedimento é tudo o que você precisa. Para projetos maiores, aplicar princípios de OOP pode
fazer com que o código fique mais fácil de ser compreendido, mantido e estendido. Continue lendo “Programação orientada a objetos no ActionScript”

Introdução ao ActionScript 3.0


Vantagens do ActionScript 3.0
O ActionScript 3.0 vai além dos recursos de script de suas versões anteriores. Ele foi criado para facilitar a criação de
aplicativos altamente complexos com grandes conjuntos de dados e bases de código reutilizáveis orientadas a objetos.
Embora o ActionScript 3.0 não seja necessário para o conteúdo executado no Adobe Flash Player, ele permite
melhorias de desempenho que só estão disponíveis com a AVM2, a nova máquina virtual. O código do ActionScript
3.0 pode ser executado até 10 vezes mais rápido do que o código do ActionScript existente.
A versão antiga da AVM1 (ActionScript Virtual Machine) executa os códigos ActionScript 1.0 e ActionScript 2.0. As
versões 9 e 10 do Flash Player oferecem suporte a AVM1 para compatibilidade com conteúdo existente e herdado de
versões anteriores. Continue lendo “Introdução ao ActionScript 3.0”

Verificando o tamanho da base de dados no PostgreSQL


Olá, neste post irei mostrar como verificar o tamanho da base de dados no PostgreSQL.

SELECT oid,datname FROM pg_database;

Esta consulta irá retornar o OID e o respectivo nome da base de dados. Com base nestas informações iremos descobrir o tamanho ocupado pela base de dados.

Acesse o diretório onde está instalado o PostgreSQL e entre no subdiretório data/base/ (ex: /var/lib/pgsql/9.3/data/base/ no Linux)

Agora com base no OID do banco de dados obtido anteriormente verificamos o tamanho da base.

Nos sistemas Linux podemos informar o seguinte comando: du -sh <OID>/ em sistemas Windows podemos verificar com o botâo direito > Propriedades para visualizar o tamanho do diretório.

 

Até a próxima

Linux – Como encerrar processos executando em uma porta específica


Neste post irei mostrar como finalizar processos no Linux com base na porta TCP/UDP que está sendo utilizada.

Para listar os processos que estão conectados à determinada porta, podemos utilzar um destes comandos (estou assumindo a porta 8080 do protocolo TCP como exemplo):

$ lsof -w -n -i tcp:8080

$ fuser -n tcp 8080

$ netstat -anp | grep :8080

E para matar o processo é só utilizar o comando kill

$ kill -9 pid

Até a próxima

Como remover um arquivo permanentemente no Linux


Muitas vezes é necessário apagar algum arquivo e ter a certeza que ninguém vai possuir acesso às informações contidas nele, como é o caso de lista de usuários e suas respectivas senhas, números de cartões de crédito, entre outras informações sigilosas.

Nos sistemas operacionais Linux, muitos conhecem o comando “rm” que é utilizado para apagar arquivos e diretórios por linha de comando. Mas poucos sabem que esta forma de exclusão não remove o arquivo de forma permanente, pois ele permite que programas especializados em recuperar documentos obtenham tais arquivos.
Portanto, se o seu objetivo é  jamais recuperar ou permitir a recuperação do arquivo, utilize o comando shred.

$ shred -u -n <numero de interações> nome_do_arquivo

-n número de interações ou gravações

-u remove o arquivo

O comando também pode ser utilizados para apagar um HD inteiro

# shred -n <numero de interações> -z <device>

-z significa que o último padrão a ser gravado será zero, ou seja, zera tudo, incluindo o MBR;

<device>: ponto de montagem do dispositivo a ser apagado, ex: /dev/sda, /dev/hda

Para mais opções do comando, consulte o manual

$ man shred

Até a próxima

Linguagem e sintaxe do ActionScript – Parte 1


O ActionScript 3.0 consiste na linguagem central do ActionScript e na API (Application Programming Interface) do Adobe Flash Player. A linguagem principal é a parte do ActionScript que define a sintaxe da linguagem, assim como os tipos de dados de nível superior. O ActionScript 3.0 oferece acesso programático ao Flash Player.
Este post apresenta uma breve instrução à linguagem e sintaxe centrais do ActionScript. Depois de lê-lo, você terá uma noção básica de como trabalhar com tipos de dados e variáveis, como usar a sintaxe apropriada e como controlar o fluxo de dados no seu programa. Continue lendo “Linguagem e sintaxe do ActionScript – Parte 1”