How to Install Support to Android SDK (UNITY 2017+) & Java Development Kit (JDK) – Dica simples e funcional (JDK 1.9 problems)

Standard

Bom, serei o mais objetivo possível, ok?

Meu setup será descrito logo abaixo e o tweak para resolver também.

My Desk:

Mac OSX HighSierra 10.13.2,
8 GB ram,
Core2duo,
SSD 120gb Vertex 3 OCZ,
Unity 2017.1.1f1 personal 64bt.

Passo 1 (step 1):

Baixe o Android Studio (sim, o sdk vem nele, essa conversa de gamb de SDK não existe, precisa baixar e o bicho é grande, 700mb+, baixe aqui:

https://developer.android.com/studio/index.html

Depois de baixar e instalar (instalei default) você deve abrir ele e dizer que não tem instalação anterior, apenas um novo WORKSTATION. (nova instalação, sem importação de NADA).

Passo 2 (step 2):

No mesmo link de download do studio existe uma parte de ferramentas de CLI, você deve baixar a CLI do seu SO (pode ser windows, não tem problema, se seguir a lógica desse artigo você vai conseguir fazer rodar em seu windows numa boa):

Baixe em https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip a versão que eu usei.

EXTRAIA o arquivo que vai gerar uma pasta chamada tools. Pegue esta pasta, copie-a, entre na pasta /Users/SEU_USUARIO/Library/Android/sdk, DELETE OU renomeie a pasta tools que existia e coloque a pasta tools nova (a que você baixou e extraiu do google).

Feito isto temos o básico do Android SDK, mas precisamos arrumar o java (e esse é pegadinha do malandro viu?).

Antes de passarmos para o java precisamos entrar na pasta

/Users/little_oak/Library/Android/sdk/tools/bin pelo terminal, sim, abra o TERMINAL DO MAC (shell) e vamos ter que digitar comandos, lets go?

cd /Users/little_oak/Library/Android/sdk/tools/bin

./sdkmanager “platform-tools

./sdkmanager “platforms;android-25”

./sdkmanager “build-tools;25.0.3”

Entenda que ali é ./ MESMO, estamos mandando rodar o binário que não faz parte de um path global do sistema (para poder rodar comandos se estar no caminho completo dele).

 

Passo 3 (step 3):

Resolvido o problema do SDK da GOOGLE, agora precisamos resolver o sdk da Oracle. De alguma maneira estranha a Unity em suas versões anteriores apresentava uma inconsistência com a TOOLS da google mais recente (isso está descrito no link abaixo):

https://unity3d.com/pt/unity/whats-new/unity-5.6.1#section-fixes

A Unity 2017+ por sua vez já suporta a tools nova, porém apresenta alguma inconsistência pra lá de estranha com o JDK mais recente, o que me fez usar um JDK mais velho. Para dar certo usei o JDK jdk1.8.0_151.jdk (pode baixar aqui: http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-macosx-x64.dmg).

Assim que baixar instale normalmente. Terminada a instalação teremos alguns problemas para sanar, descrevo nos passos abaixo.

Passo 4 (step 4):

No OSX, o sistema bloqueia por padrão a leitura da pasta Library do usuário, sendo necessário dar permissões a esta pasta. Como segurança não é o quesito principal deste postei achei por bem mandar um 777 nela, logo precisamos rodar o comando abaixo:

sudo chmod 777 /Users/MEU_USUARIO/Library/

Feito isto agora podemos brincar na Unity.

Abra a Unity 2017+ e vá em UNITY -> PREFERENCES (imagem abaixo):
External TOOLS -> PROCURA PELA PARTE DE SDK E JDK.

EM SDK coloque: /Users/little_oak/Library/Android/sdk
EM JDK coloque: /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

No Windows os paths mudam, mas é bem mais fácil que no MAC.

Depois é só compilar :).

 

Como instalar PHP, Apache e Mysql no Mac Os X Snow Leopard (mamp2 no mac)

Standard

Este é um artigo daqueles “easy-to-use”, aonde instalaremos o apache 2, o php 5 e o mysql 5 para que possamos programar sossegadamente (fazer um webserver para hospedar nossa aplicação localmente).
O sistema operacional usado aqui foi o Mac Os X Snow Leopard 10.6.7, mas o procedimento é o mesmo para 10.6.8.

Vamos para o fight?
Iremos usar o console do Mac os x, assim como o ports do Mac para gerenciar o trem com velocidade.
Façamos o seguinte, clique em terminal (veja a imagem abaixo):

como abrir terminais no mac os x

como abrir terminais no mac os x

Clicando lá você fará o seguinte:

Little-oaks-appunixlabs:~ sudo apachectl start

Isto fará com que você chame recursos globais como super usuário e ative o serviço do apache 2 dentro do seu Mac os x, LEMBRANDO que será requisitada a senha de superusuário para que você possa rodar este recurso, pois o sudo te dá poder de root para executar um determinado comando, como neste caso tomtamos o exemplo do apachectl.

Para conferir que o procedimento deu certo abra seu navegador web (no nosso caso curtimos muito o Mozilla Firefox, mas fica ao seu critério o navegador [isto não influenciará em nada neste how to]), conforme imagem abaixo, na barra de endereços digite

Apache ok

Apache ok

HTTP://localhost

Nosso segundo ponto e muito importante é entrar no arquivo de configuração do apache 2 afim de habilitarmos o suporte ao PHP, vamos por a mão na massa? Estamos usando o VIM, um editor muito eficaz e leve (todos que já amaram o vi um dia com certeza amam/amarão o vim):

Little-oaks-appunixlabs:~ sudo vim /etc/apache2/httpd.conf

 

Dentro deste arquivo devemos remover o comentário da linha abaixo:

LoadModule php5_module libexec/apache2/libphp5.so

Recomendo que aperte a tecla / no vim e digite php5, você já vai cair em cima da linha a ser descomentada, em seguida, no sinal de libra (#), caminhe até ele e aperte x
Isto nos deixará com suporte ao PHP, depois basta apertar ESC e digitar isto:
:wq!
Assim que pressionar ENTER o arquivo será salvo.
Vamos explicar o por que de :wq!

: representa comando para o arquivo
W representa ESCREVER
Q representa QUIT (sair)
! representa EXECUTAR as instruções informadas

Para finalizarmos o suporte ao php precisamos rodar o seguinte comando:

Little-oaks-appunixlabs:~ sudo apachectl restart

É mania de todos criar um arquivo com a função phpinfo() contida nele, porém, se fizermos isso “de cara” o apache vai exibir muitos warnings (interpretados pelo php) por questões de permissões e de existência do arquivo php.ini. Para sanarmos isto deveremos fazer o seguinte:

Little-oaks-appunixlabs:~ cd /etc
Little-oaks-appunixlabs: sudo cp php.ini.default php.ini
Little-oaks-appunixlabs: sudo chmod 666 php.ini

Estamos copiando o php.ini default do /etc (área de arquivos de configurações em Unix-like systems) e atribuindo permissões 666 (dono pode ler e escrever no arquivo, grupo também e demais também).
No arquivo php.ini temos de localizar o trecho aonde o TimeZone é identificado (mas está comentado). É muito importante mudar esta linha e ajustarmos nosso timezone corretamente, pois isto nos dará um horário adequado. Para isto devemos proceder da seguinte forma:
Little-oaks-appunixlabs: sudo vim php.ini
Em seguida aperte a tecla / para localizar um termo, informe o seguinte date.timezone, isto lhe deixará na linha acima da que precisamos mudar. Descomente a linha abaixo para que fique assim:
date.timezone =

Você removerá o ; apertando x em cima dele. Para deixarmos o vim em modo de edição de arquivos precisamos apertar a tecla i, isto nos dará poder de editar o arquivo (saindo de modo comando).
Agora iremos colocar depois do = o seguinte:
America/Sao_Paulo
Então o resultado final será —> date.timezone = America/Sao_Paulo
Dê ESC e digite
:wq!
Aperte ENTER e terá o arquivo salvo.

 

As vezes você pode estar se perguntando:

Poxa, mas meu timezone não tem nada a ver com o de Sampa, o que faço?
Relaxa, rapá! A galera do Appunix pensou em você! Abaixo segue a lista de timezone da América:
http://www.php.net/manual/en/timezones.america.php

Se mesmo assim não lhe agradar você pode usar os globais:
http://www.php.net/manual/en/timezones.others.php

Mas é impossível você não se agradar dos timezones da América, são repletos.
Os mais comuns que são usados são:
America/Porto_Velho
America/Noronha
America/Rio_Branco
America/Recife
America/Sao_Paulo
America/Porto_Acre
Mas escolha o que mais lhe agradar.

Assim que decidir qual seu TimeZone você deve reiniciar o apache para reler o php.ini e ativar o negócio:
Little-oaks-appunixlabs: sudo apachectl restart

Agora precisamos instalar o Mysql 5 para que possa trabalhar da forma que almejamos.
Para irmos direto ao ponto acesse o link abaixo:
http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
Se cuide para baixar a versão ideal para você.
Aí é 64 bits? Não sabe como é? Quer saber como seu Mac Os X Snow Leopard está operando? Clique na maça, depois clique em Sobre Este MAC, em seguida clique em Software (Categoria) e procure pela linha Kernel de 64-bit e Extensões: Sim (conforme a foto abaixo):

como ver informações do seu mac os x

como ver informações do seu mac os x

Caso seja Sim é 64 bits (x86_64), então baixe o pacote para 64 bits.
Vamos simbora?
Baixe o arquivo x86_64 no formato DMG.

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

Quando você clicar no formato DMG automaticamente o site da Mysql vai te convidar a logar-se lá com eles, mas basta prestar a atenção (conforme imagens abaixo) para não precisar perder tempo com esta burocracia, se você quer baixar direto (melhor Né?) basta fazer o seguinte, clique no link abaixo:
HTTP://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.58-osx10.6-x86.dmg/form/http://mysql.cce.usp.br/
Deixa o download terminar siga os passos das fotos abaixo (literalmente instalar o mysql e seu ícone), Devemos concluir os passos extras para adição do Mysql como sendo parte do painel administrativo, para isto siga os passos abaixo:

passo1

passo1

 

Feito isto iremos confirmar se o mysql está rodando com o seguinte comando:

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql

Feito isto iremos reiniciar o apache 2 para garantir que o nosso servidor está integrando literalmente tudo, faremos com o seguinte comando:

Little-oaks-appunixlabs: sudo apachectl restart

Para conferirmos tudo vamos entrar dentro da nossa pasta pessoal, na pasta Sites e criar um arquivo chamado index.php. Dentro dele iremos colocar o seguinte (ISTO EM /Library/WebServer/Documents):
Ou seja -> sudo vim /Library/WebServer/Documents/index.php

< ?php phpinfo(); ?>

Teremos liberadas extensões como PDO (Muito boa para abstração no banco de dados mysql), Mysqli (a versão aprimorada do conector nativo do Mysql [somente disponível a partir do Mysql 5.x])
Pronto, feito isto instalamos o Mysql 5 , Php 5 e Apache 2 em nosso Mac Os X :D.
Abraços a todos e saibam que o AppUnix aprecia sua visita!

You must specify a FilePath to the XML file you want to load!

Standard

Se você está recebendo mensagens de erro neste estilo aqui ó:

You must specify a FilePath to the XML file you want to load!

This message error:

[Exception: You must specify a FilePath to the XML file you want to load!]
nDeveloper.Util.Config.ConfigEditor.AllParameters() +136
nDeveloper.Util.Config.ConfigEditor.LoadConfigFile() +16
nDeveloper.Util.Config.ConfigEditor..ctor(String FilePath) +133
nDeveloper.BO.Base.Config.ConfigFile.GetValue(String Key) +40
nDeveloper.BO.Base.Domain.DataBaseConfig.GetServerType() +42
nDeveloper.BO.Base.Domain.DataBaseConfig.GetConnectionString() +61
Vsoft.iPortal.BO.DataAccess.BaseDb..ctor() +38
Vsoft.iPortal.BO.DataAccess._NoticiaDA..ctor() +24
Vsoft.iPortal.BO.DataAccess.NoticiaDA..ctor() +24
Vsoft.iPortal.BO.BusinessLogic.Noticia.ListaNoticias(Nullable`1 SecaoID, Int32 Quantidade, Nullable`1 CaracterizacaoID) +48
Start_Default.CarregaDestaques() +173
Start_Default.Page_Load(Object sender, EventArgs e) +30
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyn

Nada de dor de cabeça, há uma probabilidade enorme do seu sistema não estar deixando o IIS e o ASPNET acessarem a pasta que contém o arquivo XML.

E digo mais, é comum também de tabela receber este erro aqui:

Detalhes da Exceção: System.UnauthorizedAccessException: Acesso ao caminho “C:\Inetpub\wwwroot\caminho\dados\arquivo_problema.xml” foi negado.

Nas propriedades da pasta dados, altere as permissões da conte \ASPNET ou IUSR_MACHINENAME. A mensagem de erro fornece uma breve descrição sobre os dois casos :

“O ASP.NET não está autorizado a acessar o recurso solicitado. Recomenda-se conceder à identidade de solicitação do ASP.NET direitos de acesso ao recurso. O ASP.NET tem uma identidade de processo-base (geralmente {MACHINE}\ASPNET no IIS 5 ou Serviço de Rede no IIS 6) que é usada se o aplicativo não estiver sendo representado. Se o aplicativo estiver sendo representado através de , a identidade será o usuário anônimo (geralmente IUSR_MACHINENAME) ou o usuário de solicitação autenticado. “

path ou caminho das estatísticas de domínios no plesk

Standard

Muitas vezes precisamos de estatísticas (LOGS DO DOMÍNIO) para analizar algum erro em um servidor e nos deparamos comum certo dilema:

O plesk não é como “as coisas naturais do iis são”… lol
É isto mesmo, os logs que mostram erros críticos em um site não ficam localizados em:
C:\Windows\System32\LogFiles\W3SVCXXXXX (aonde XXXXX são números).

Caso queira achar uma informação proveitosa de um domínio a saída está aqui:

C:\INETPUB\VHOSTS\SITEASERANALIZADO.COM.BR\STATISTICS\LOGS\W3SVCXXXXX (XXXXX = números)

Se achar a resolução do problema, pls, dê um whois no meu domínio, ache minha casa e me mande uma caixa de BIS, please!

internal server error windows plesk 9 ou 8

Standard

Caso tenha 1 site em asp e o mesmo está apresentando esse erro, please, não entre em pânico, uma das coisas que pode estar ocasionando isto é o fato do parent path estar desabilitado (sua app ou de seu cliente recém chegado usa recursividade assim ../), para sanar isto faça o seguinte (dentro do domínio do seu cliente – já dentro do plesk como admin):

3 -> Clique em File e escolhe web directories (isso no 9, no 8 já tem web directories).

4 -> Assim que for aberto procure por Directory Properties, clique nele.

Procure a opção que ordena a liberação do parent path e marque-a.


Depois disso tente acessar novamente 😉


Liberando o parent path para um domínio no plesk 9 ou 8

Standard

É muito simples e rápido! Se você está desejando liberar o parent path para algum domínio no plesk (ressalto que isto não é uma política amigável de segurança – nada mesmo, mas se você precisa…) basta seguir os passos abaixo:

1 -> Acesse a lista de domínios no plesk e procure pelo domínio o qual deseja-se a liberação.

2 -> Clique neste domínio.

3 -> Clique em File e escolhe web directories (isso no 9, no 8 já tem web directories).

4 -> Assim que for aberto procure por Directory Properties, clique nele.

Procure a opção que ordena a liberação do parent path.

Confirme e seja feliz!

?:P