Diário de programador

Códigos, anotações e pensamentos.

Variáveis de ambiente e alguns erros comuns.

published in Metodologias Comments

Estava eu programando no WINDOWS sim, WINDOWS (SDK de uma ferramenta que só funciona no Windows) :(( rs quando eu me deparei com o seguinte erro com a plataforma Titanium:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[INFO] logfile = C:UsersPauloLuanDropboxSource CodesOnibusSJCworkTitaniumOnibusSJCbuild.log
[INFO] Launching Android emulator...one moment
[ERROR] 'xcopy' não é reconhecido como um comando interno
[ERROR] ou externo, um programa operável ou um arquivo em lotes.
[ERROR] Exception occured while building Android project:
[ERROR] Traceback (most recent call last):
[ERROR] File "C:UsersPauloLuanAppDataRoamingTitaniummobilesdkwin322.1.0.GAandroidbuilder.py", line 2199, in
[ERROR] s.run_emulator(avd_id, avd_skin, avd_name, avd_abi, add_args)
[ERROR] File "C:UsersPauloLuanAppDataRoamingTitaniummobilesdkwin322.1.0.GAandroidbuilder.py", line 476, in run_emulator
[ERROR] avd_name = self.create_avd(avd_id, avd_skin, avd_abi)
[ERROR] File "C:UsersPauloLuanAppDataRoamingTitaniummobilesdkwin322.1.0.GAandroidbuilder.py", line 399, in create_avd
[ERROR] available_avds = avd.get_avds(self.sdk)
[ERROR] File "C:UsersPauloLuanAppDataRoamingTitaniummobilesdkwin322.1.0.GAandroidavd.py", line 23, in get_avds
[ERROR] for line in run.run([sdk.get_android(),'list','target'],debug=False).split("n"):
[ERROR] AttributeError: 'NoneType' object has no attribute 'split'

// //

No começo não sabia o que fazer, mas ao analisar a terceira linha vi que a mensagem dizia: “‘xcopy’ não é reconhecido como um comando interno” estranhei porque xcopy é um comando do windows no cmd para copia de arquivos, pois bem, o problema que ocasionou este erro na minha IDE é que as variáveis de ambiente do windows estavam desconfiguradas, eu acho que de tanto mexer pra configurar o meu Java (é que estava tendo alguns problemas), no entanto, se você quiser saber mais sobre as variáveis de ambiente leia este e este artigo.

Por exemplo, quando retiramos a propriedade “C:WindowsSystem32” das variáveis de Path teremos alguns erros como os seguintes:

1
2
'xcopy' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.
'ipconfig' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

semelhante a imagem:

[caption id=“attachment_671” align=“aligncenter” width=“676”]Erro: cmd não reconhece comandos. Erro: cmd não reconhece comandos.[/caption]

pois todos os programas que estavam mapeados agora não estão mais, as variáveis de ambiente são importantes e é só você colocar o diretório onde estão os executáveis que o sistema mapeará e deixará disponível para uso no terminal.

Então para configurar basta pressionar o “logo do windows + pause break” ou ir no painel de controle —> Sistema —> variáveis de ambiente. O importante é chegar nesta tela:

[caption id=“attachment_672” align=“aligncenter” width=“421”]Propriedades do Sistema Propriedades do Sistema[/caption]

Depois clique em variáveis de ambiente:

[caption id=“attachment_673” align=“aligncenter” width=“393”]Variáveis de ambiente Variáveis de ambiente[/caption]

e depois é só clicar em “editar” sobre a variável de ambiente PATH e colar o local a ser mapeado por exemplo, se você quiser que o Java seja mapeado coloque o diretório da instalação (geralmente é o “C:Program Files (x86)Javajdk1.7.0_05bin;” ou algo parecido ;) ) e lembre-se de separar as pastas com “;” ,logo, para resolver aquele problema da minha IDE era só colocar o caminho “C:WindowsSystem32” na variável PATH como na imagem:

com as variáveis de ambiente configuradas olha que bonito que ficou meu CMD executando o comando xcopy e ipconfig:

[caption id=“attachment_670” align=“aligncenter” width=“677”]cmd feliz cmd feliz[/caption]

Att, Paulo Luan.

Comments