ERROR: Manifest merger failed: Attribute application

Solução para os erros abaixo:

Ao configurar um bloco de anúncio do AdMob, você pode receber as mensagens de erros abaixo, quando for adicionar a dependência "implementation 'com.google.android.gms:play-services-ads:18.1.0'" no arquivo build.gradle:

"ERROR: Manifest merger failed: Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:8:5-41:19 to override."

"Dependencies using groupId com.android.support and androidx.* can not be combined but found IdeMavenCoordinates{myGroupId='com.android.support', myArtifactId='support-vector-drawable', myVersion='28.0.0', myPacking='aar', myClassifier='null'} and IdeMavenCoordinates{myGroupId='androidx.core', myArtifactId='core', myVersion='1.0.0', myPacking='aar', myClassifier='null'} incompatible dependencies less... (Ctrl+F1) 
Inspection info:There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion).  Issue id: GradleCompatible"

Esses erros podem ocorrer porque a dependência que você estar configurando no seu projeto faz parte do novo pacote do AndroidX, por esse motivo você pode receber diversos erros no seu projeto.

Para solucionar todos os problemas, você vai precisar fazer a migração do seu projeto. Vide no vídeo a seguir como realizar esse processo ou acesse o link para acessar a página do Developers do Google.


Solução




Mais detalhes em Android Dev
Nenhum comentário:

Microsoft vai lançar o Windows Terminal - Um novo aplicativo de linha de comando para o Windows


A Microsoft vai lançar um novo aplicativo de linha de comando para o Windows, apelidado de Windows Terminal. Ele foi projetado para ser o local central para acesso a ambientes como o PowerShell, o Cmd e o Windows Subsystem for Linux (WSL). A Microsoft está adicionando suporte a várias guias juntamente com temas e personalização para desenvolvedores que desejam ajustar o aplicativo Terminal.

O Windows Terminal também suportará renderização de texto emoji e baseado em GPU. A Microsoft revelou o novo aplicativo do Windows Terminal durante a conferência de desenvolvedores Build da empresa hoje. A gigante do software está planejando disponibilizá-lo em meados de junho e marca os últimos esforços da Microsoft para melhorar o ambiente de desenvolvimento no Windows 10.

Fonte: theverge.com
Nenhum comentário:

Fatal error: Uncaught Exception: FPDF error: Some data has already been output, can't send PDF file in..

Se você estiver usando a lib fpdf para gerar arquivos PDF e receber a mensagem de erro abaixo:
"Fatal error: Uncaught Exception: FPDF error: Some data has already been output, can't send PDF file in{...}"

Prossiga da seguinte forma para resolver o seu problema:

No arquivo gerado do pdf, procure pela linha $pdf->Output(); e em seguida adicionar o comando  ob_start (); 

O comando acima, vai iniciar o buffer e fazer com que o arquivo que foi gerado seja enviado para o seu browser.

A função do ob_start() é inicia o buffer e para limpar o buffer é o comando é ob_clean() e ob_end_clean(). O ob_end_clean() limpa o buffer e ainda exibe aquilo que foi armazenado nele.

Um comentário:

Execute o Windows 95 no Linux-Ubuntu


Aprenda o passo a passo para executar o Windows 95 no linux:

1. Faça o download da versão mais recente do windows95 para o Ubuntu:

Está disponível em formato zip, rpm e deb para diversos sistemas operacionais. 
Vide mais detalhes aqui

2. Depois que você tiver o download do arquivo, você pode instalá-lo usando o seguinte comando:
sudo apt install gdebi
sudo gdebi windows95_1.1.0_amd64.deb
3. Para executar basta digitar no terminal o comando abaixo:
windows95

Vídeo com o passo a passo:



Mais detalhes sobre o projeto windows95 no github:

Nenhum comentário:

O arquivo de configuração padrão do nginx - default

/etc/nginx/sites-available/default


##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;

root /var/www/html;

# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;

server_name _;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# proxy_pass http://localhost:8080;
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection 'upgrade';
# proxy_set_header Host $host;
# proxy_cache_bypass $http_upgrade;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
Nenhum comentário:

ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded

Recentemente, fui fazer uma pequena alteração no meu banco de dados, para mudar as permissões de um determinado usuário e acabei perdendo o acesso ao banco.

Análise do problema:

O problema aconteceu depois da repetição de um simples comando: GRANT SELECT, INSERT, UPDATE ON dbsystemmyimei.* TO usermyimeico;

Depois de executar  o comando, mencionado acima, comecei a receber uma mensagem informando a tabela de usuário estaria corrompida e daí pra frente eu não conseguia fazer mais nenhuma alteração no meu banco de dados e quando tentava entra no mysql, recebia a seguinte mensagem de erro: "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"

Pesquisando sobre  unix_socket na internet descobrimos que ele é um plug-in de autenticação que permite usar as credenciais do sistema operacional para se conectar ao MySQL/MariaDB. Ele faz isso por meio do arquivo de soquete local que é definido pela variável do sistema de soquete.

Mais detalhes em mariadb.

Host: Sistema: Ubuntu 18.04.2 LTS - 64 bits
CPU: Intel® Core™ i5-4460 CPU @ 3.20GHz × 4 
Memória: 8GB 


Solução

Antes de resolvermos esse problema, será preciso fazer o backup da pasta mysql porque, por algum motivo, ainda desconhecido, o mysql.sock é deletado toda vez que o serviço mysql é parado e o mysqld_safe não pode criá-lo novamente. Por isso, para contornarmos esse problema, é preciso fazermos o backup da pasta sock e restaurar antes de iniciar o mysqld_safe.

Passo a passo:

Essa solução pode ser aplicada no mysql ou mariadb

1. Se o mysql ou mariadb estiver parado, inicia com o seguinte comando:

sudo service mysql start

2. Navegue para a pasta /var/run
cd /var/run

3. Agora faça o backup :
sudo cp -rp ./mysqld ./mysqld.bak

4. Pare o serviço mysql
sudo service mysql stop

5. Agora vamos restaurar o backup
sudo mv ./mysqld.bak ./mysqld

6. Inicie o mysql no modo seguro
sudo mysqld_safe --skip-grant-tables --skip-networking &

7 . Em seguida, efetue login no mysql como root:
mysql -u root

8. Confira se o plugin de autenticação está configurado para o usuário root:
select Host,User,plugin from mysql.user where User='root';

Você pode ver que ele está usando o plug-in unix_socket



9. Para mudar para o plug-in mysql_native_password, execute o seguinte comando:
update mysql.user set plugin='mysql_native_password';

10. Agora é só sair do mysql modo segurança:
quit;

11. Pare o modo segurança
sudo kill -9 $(pgrep mysql)

12. Inicie o mysql ou mariadb, novamente
sudo systemctl start mysql

13. Agora é só fazer o login com sua senha normal:
mysql -u root -p

Problema resolvido!

Vide o passo a passo em vídeo


Nenhum comentário:

Como trocar a porta padrão da Área de Trabalho Remota do Windows-RDP

Se você estiver precisando trocar a porta padrão do serviço RDP do Windows, basta acessar a chave de registro: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp procurar pela chave PortNumber e trocar o número da porta; ou siga os passo do vídeo abaixo:

Nenhum comentário: