Android / Gradle – Definindo um versionName diferente para build e release

gradle

Não é possível definir um versionName diferente para ‘debug’ e ‘release’ porem é possível adicionar um suffix no final do versionName:

android {
    signingConfigs {
        releaseKey {
            keyAlias 'key_flavors'
            keyPassword 'xxxxx'
            storeFile file('../key_release_flavors.jks')
            storePassword 'xxxx'
        }
    }
    compileSdkVersion 27
    defaultConfig {
        applicationId "br.com.helpdev.flavors"
        minSdkVersion 14
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        debug {
            versionNameSuffix ".15.1"
        }
        release {
            versionNameSuffix ".14"
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.releaseKey
        }
    }
}

Dessa maneira ao compilar o projeto o debug ficaria com o versionName: 1.0.15.1 e o release com: 1.0.14.

Android Studio / Gradle / Maven – Como fazer upload de sua biblioteca em seu repositório Maven.

maven

O plugin Maven adiciona suporte para a implantação de artefatos nos repositórios Maven.

Como utilizar (inserir no build.gradle do modulo do seu projeto):
—————-

apply plugin: 'com.android.library'
apply plugin: 'maven' //ADICIONE O PLUGIN MAVEN

//CRIE O METODO ABAIXO PARA CONFIGURAR O UPLOAD:
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: mavenLocal().getUrl()) //URL DO SEU REPO MAVEN(NO EXEMPLO ESTA USANDO O LOCAL)
            pom.artifactId ='swap_android'
            pom.groupId = 'br.com.helpdev'
            pom.version = '1.0'
        }
    }
}

Após configurado, basta sincronizar o projeto e chamar o ‘uploadArchives’: Continue reading

Gradle – Gerar uma distribuição com suas dependências / Gerar um FatJar / Configurar o JavaExec / Configurar Manifest

gradle

Segue um script de configuração para compilar projetos java e gerar uma distribuição com todas dependências, com opcional de fatJar.
- Configurar o Manifest
- Configurar a execução pela IDE através do type: JavaExec
- Gerar uma distribuição com as dependências dentro da pasta libs/
- Gerar uma distribuição fatJar

ARQUIVO BUILD.GRADLE: Continue reading

Gradle – Instalando o Gradle no Linux

gradle

Gradle é um sistema de automação de compilação open source que se baseia nos conceitos de Apache Ant e Apache Maven e introduz uma linguagem de domínio específico (DSL) baseada em Groovy em vez do XML usado pelo Apache Maven para declarar a configuração do projeto. Gradle foi projetado para multi-projetos que podem ter alto crescimento, e suporta compilações incrementais quando inteligentemente determina quais partes da árvore estão atualizadas, de modo que qualquer tarefa dependente dessas partes não precisa ser re-executada.

Os plugins iniciais são focados principalmente em torno do desenvolvimento e implantação de Java, Groovy e Scala, porém mais linguagens e fluxos de projeto são pretendidos.

1- Primeiro de tudo verifique sua instalação do JAVA:

 $java -version

Caso não tenha o java instalado e configurado: http://helpdev.com.br/2016/04/14/java-configurando-jdk-no-linux-adicionando-java-path/

2 – Faça o Download do gradle: Continue reading

Android Studio, Gradle – Adicionando ViewPagerIndicator como dependência (Adding ViewPagerIndicator dependency to Gradle project)

android studio

Mais uma para a coleção de configuração de projetos no Android Studio. A facilidade do Gradle para incluir dependências é incrível, mais tem algumas regrinhas para aprender. Quando se trata de dependências do Android todas elas já estão lá bem acessíveis e com uma interface gráfica para facilitar a inclusão no ‘build.gradle’, porem quando vamos incluir uma dependência de outro repositório devemos configurar algumas coisas. O Gradle utiliza o Maven para facilitar essa inclusão, iremos configurar a inclusão da biblioteca viewpagerindicator.

1 – Vamos abrir o ‘build.gradle’ do PROJETO, ele deve estar assim: Continue reading

Android Studio, Gradle – Adicionando kSOAP2 como dependência (Adding kSOAP dependency to Gradle project)

android studio

Mais uma para a coleção de configuração de projetos no Android Studio. A facilidade do Gradle para incluir dependências é incrível, mais tem algumas regrinhas para aprender. Quando se trata de dependências do Android todas elas já estão lá bem acessíveis e com uma interface gráfica para facilitar a inclusão no ‘build.gradle’, porem quando vamos incluir uma dependência de outro repositório devemos configurar algumas coisas. O Gradle utiliza o Maven para facilitar essa inclusão, iremos configurar a inclusão da biblioteca ksoap2-android.

1 – Vamos abrir o ‘build.gradle’ do PROJETO, ele deve estar assim: Continue reading

Android Studio, Gradle – Adicionar dependências no projeto usando o Maven (Maven Dependencies with Android Studio / Gradle)

android studio

Mais uma para a coleção de configuração de projetos no Android Studio. A facilidade do Gradle para incluir dependências é incrível, mais tem algumas regrinhas para aprender. Quando se trata de dependências do Android todas elas já estão lá bem acessíveis e com uma interface gráfica para facilitar a inclusão no ‘build.gradle’, porem quando vamos incluir uma dependência de outro repositório devemos configurar algumas coisas. O Gradle utiliza o Maven para facilitar essa inclusão, iremos configurar a inclusão da biblioteca ksoap2-android.

1 – Vamos abrir o ‘build.gradle’ do PROJETO, ele deve estar assim: Continue reading

Android Studio, Gradle – Adicionando uma biblioteca externa ao projeto (Gradle adding external library to a project)

android studioEste é minha primeira publicação sobre o Android Studio, ao utiliza-lo tive uma dificuldade para aprender o novo modo de tratar com as dependências utilizando o Gradle.

O Android Studio trabalha com um projeto principal e dentro dele seus módulos, quem faz a associação entre os módulos é o gradle, ao criarmos um app criamos um modulo principal, para adicionar uma biblioteca ao projeto devemos importar um novo modulo e nas configurações do modulo principal definir o outro modulo como biblioteca, porem ao importarmos esse modulo ele gera uma cópia na pasta do projeto, mas o que proponho nesta publicação é utilizar o projeto externo sem gerar uma cópia no projeto principal, assim não teremos ‘n’ cópias circulando por ai.

Para explicar melhor segue uma estrutura de projeto: Continue reading