Introducción a HMS Core

1

Creación de Cámara Selfie con Kits de Huawei

2

Depuración de Aplicaciones en la Nube con Huawei Cloud Debugging

3

Desarrollo de Aplicaciones con Huawei Mobile Services Core

4

Creación de Proyecto Android Studio con Huawei Kits

5

Creación de Aplicaciones en AppGallery Connect de Huawei

6

Generación de Huella Digital SHA-256 para Android Studio

7

Configuración de APIs Huawei para Proyecto de Selfies en Android Studio

8

Configuración de Gradle para Huawei en Android Studio

9

Sincronización de aplicaciones con dependencias Huawei en Gradle

Autenticación con HMS Account Kit

10

Diseño de Pantalla de Login con Huawei Account Kit

11

Autenticación con Huawei Account Kit en Aplicaciones Android

12

Autenticación con Huawei ID en Aplicaciones Android

13

Implementación de Logout con Huawei AccountKit y Refactorización en Android

Construyendo nuestra cámara de selfies con HMS ML Kit

14

Diseño de Pantalla en Selficam con Huawei ML Kit

15

Permisos de Cámara en Aplicaciones Android

16

Configuración y Personalización de Cámaras en Android

17

Personalización de Interfaz Gráfica para Cámara en Android

18

Reconocimiento Facial con Machine Learning en Android

19

Creación del Motor de Lente para Selfie Cam en Android

20

Implementación de Layout para Actividad de Cámara en Android

21

Integración de Cámara y Botones en Aplicación de Selfies

22

Implementación de Verificación Facial en App Android

23

Detección de Sonrisa y Rostro en Cámaras Huawei

24

Detección de Rostros y Cambio de Cámara en Android Studio

25

Implementación de Funcionalidad de Toma y Retoma de Fotos en Android

26

Guardar fotos en la galería con Android y Huawei Machine Learning

Aplicando notificaciones push con HMS Push kit

27

Implementación de Huawei Push Notifications en Android

28

Implementación de Push Notifications en AppGallery Connect

29

Configuración y Envío de Notificaciones Push en AppGallery Connect

Conclusiones y consejos

30

Solución de Problemas Comunes en Desarrollo con Huawei HMS Core

31

Eventos de Huawei para Desarrolladores y Servicios Ofrecidos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Configuración de Gradle para Huawei en Android Studio

8/31
Recursos

¿Cómo configurar Gradle en Android Studio para importar dependencias de Huawei?

La configuración de Gradle en Android Studio es crucial para integrar las dependencias que ofrece Huawei y aprovechar todo su potencial en tus aplicaciones. Aprenderás a conectar tu proyecto a los repositorios de Huawei, e importar kits útiles como AccountKit, PushKit y Machine Learning Kit.

¿Cómo configurar el repositorio de Huawei?

Para empezar, necesitas modificar el archivo build.gradle en el nivel del proyecto raíz. Aquí es donde conectarás tu proyecto al repositorio de Huawei para poder importar sus dependencias.

allprojects {
    repositories {
        // Otros repositorios
        maven { url 'https://developer.huawei.com/repos/' }
    }
}

¿Cómo definir el classpath de Huawei?

El siguiente paso en la configuración es establecer el classpath en el archivo build.gradle a nivel del proyecto. Esto te conectará correctamente con las herramientas de Huawei necesarias para tu proyecto.

dependencies {
    classpath 'com.huawei.agconnect:agcp:1.3.1.300'
}

Si observas que en algún momento cambia la versión, recuerda verificar la documentación proporcionada con el curso donde encontrarás las versiones más actuales.

¿Cómo importar dependencias en el módulo de la aplicación?

Configurar el archivo build.gradle del módulo de aplicación es imperativo para importar las dependencias como AccountKit, PushKit, y Machine Learning Kit. Estas resultan esenciales para proyectos que incluyen características avanzadas de identidad y reconocimiento facial.

Inicia aplicando el plugin de Huawei:

apply plugin: 'com.huawei.agconnect'

Importar Huawei AccountKit

Para integrar el acceso y autenticación con Huawei ID, usa la implementación de la dependencia correcta.

dependencies {
    implementation 'com.huawei.hms:hwid:4.0.4.300'
}

Importar PushKit

Actualiza tu configuración para enviar y recibir notificaciones push eficientemente.

dependencies {
    implementation 'com.huawei.hms:push:4.0.4.300'
}

Integrar Machine Learning Kit

Machine Learning Kit es fundamental para funcionalidades como el reconocimiento facial. Aquí, deberás importar varias dependencias para diferentes modelos.

dependencies {
    implementation 'com.huawei.hms:ml-computer-vision:4.0.4.300'
    implementation 'com.huawei.hms:ml-face-emotion:1.0.4.300'
    implementation 'com.huawei.hms:ml-face-feature:1.0.4.300'
    implementation 'com.huawei.hms:ml-face-shape:1.0.4.300'
    // Otras dependencias que puedes necesitar
}

¿Cómo configurar el sign-in en Gradle?

Para asegurar que las implementaciones y despliegues son seguros, utiliza signingConfigs en tus configuraciones de Gradle. Esto incluye almacenar tus datos claves necesarios.

android {
    signingConfigs {
        release {
            storeFile file('path/to/your.jks')
            storePassword 'Huawei'
            keyAlias 'selfiCamera'
            keyPassword 'Huawei'
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.release
            debuggable true
        }
    }
}

Te invitamos a seguir explorando y experimentando con estas configuraciones y dependencias de Huawei para sacar el máximo provecho a tus proyectos Android. La cartera de servicios de Huawei es amplia y lista para potenciar tus habilidades de desarrollo. ¡Sigue adelante con confianza!

Aportes 13

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para los que no puedan ver bien las dependencias:

//Account Kit
implementation 'com.huawei.hms:hwid:4.0.4.300'
//Push Kit
implementation 'com.huawei.hms:push:4.0.4.300'
// Import the base SDK.
implementation 'com.huawei.hms:ml-computer-vision-face:2.0.1.300'
// Import the contour and key point detection model package.
implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:2.0.1.300'
// Import the facial expression detection model package.
implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:2.0.1.300'
// Import the facial feature detection model package.
implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:2.0.1.300'

Cuando estas en un proyecto real, lo mejor es crear un archivo .properties y desde Gradle obtener los archivos.

Ejemplo:

archivo a nivel de proyecto de nombre ‘keystone.properties’


#Signin Configuration

alias=myAlias
keyPassword=myKeyPassword
storePassword =myStorePassword

archivo build.gradle dentro a nivel de app

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'com.huawei.agconnect'
}


def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.rguzman.selfiecamera"
        minSdkVersion 23
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        release {
            storeFile rootProject.file('selfie-camera-keystore')
            storePassword keystoreProperties["storePassword"]
            keyAlias keystoreProperties["alias"]
            keyPassword keystoreProperties["keyPassword"]
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

        debug {
            signingConfig signingConfigs.release
            debuggable true
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.2'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

    implementation 'com.huawei.hms:hwid:5.2.0.300'
    implementation 'com.huawei.hms:push:5.1.1.301'

    implementation 'com.huawei.hms:ml-computer-vision-face:2.0.5.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:2.0.5.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:2.0.5.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:2.0.5.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-3d-model:2.0.5.300'

    testImplementation 'junit:junit:4.+'

    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

De esta manera tus credenciales no quedan expuestas y el archivo keystore.properties se deberá agregar al .gitignore

A mi me estaba dando error al compilar para solucionarlo tuve que actualizar a las ultimas versiones de las librerias:

//Account Kit
implementation 'com.huawei.hms:hwid:5.0.1.301'
//Push Kit
implementation 'com.huawei.hms:push:5.0.0.300'
// Import the base SDK.
implementation 'com.huawei.hms:ml-computer-vision-face:2.0.1.300'
// Import the contour and key point detection model package.
implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:2.0.1.300'
// Import the facial expression detection model package.
implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:2.0.1.300'
// Import the facial feature detection model package.
implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:2.0.1.300'

Para las versiones actuales al 21 / 02/ 2021

//Huawei Account kit
    implementation 'com.huawei.hms:hwid:5.1.0.301'
    //Huawei Push kit
    implementation 'com.huawei.hms:push:5.1.1.301'
    //Huawei machine learning
    implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:2.0.5.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:1.0.4.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:2.0.5.300'
    implementation 'com-huawei.hms:ml-computer-vision-face:1.0.4.300'
    

De acuerdo con la documentación oficial de huaweii y haciendo el simil con GoogleFirebase, el plugin se aplica al final no al inicio

100% no fake . este codigo no te da error…si para cuando lean esto paso tiempo y les da error…dirigance a Update Guide en la pagina de Huawei. donde les mostrara las implementaciones actuales:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

apply plugin: 'com.huawei.agconnect'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.1"

    defaultConfig {
        applicationId "com.juan.hselfiecamera"
        minSdkVersion 15
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    signingConfigs{
        release{
            storeFile file ("HmsDemo")
            keyAlias "hsmdemo"
            keyPassword "99ju4n99"
            storePassword "99ju4n99"
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }




    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.release
            debuggable true
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.1'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'


    //Huawei Acoount Kit
    implementation 'com.huawei.hms:hwid:5.0.1.301'
    //Huawei Push Kit
    implementation 'com.huawei.hms:push:5.0.1.300'
    //Huawei Machine Learning
    implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:2.0.1.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:2.0.1.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:2.0.1.300'
    implementation 'com.huawei.hms:ml-computer-vision-face:2.0.1.300'

    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    

}```

**2024 Funcionando** <https://github.com/AlexNaupay/Huawei-Started>

Podrían actualizar el curso o la clase #6 Configuración de firma SHA-256 por favor!

No pude realizar esa clase debido a lo desactualizada que esta, además de que no es muy entendible por medio de las imágenes que se muestran. Seria mejor ver al propio profesor realizar la clase en video.

También que alguien amable me recomiende si debo saltarme las líneas de código donde requiero usar la llave, o si puedo escribirlo aunque no tenga la firma. Gracias

A mi me sirvió esto al 01/03/2022

    //Huawei Account kit
    implementation 'com.huawei.hms:hwid:6.0.1.300'
    //Huawei Push kit
    implementation 'com.huawei.hms:push:5.3.0.304'
    //Huawei machine learning
    // Import the base SDK.
    implementation 'com.huawei.hms:ml-computer-vision-face:3.3.0.300'
    // Import the contour and key point detection model package.
    implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:3.3.0.300'
    // Import the facial expression detection model package.
    implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:3.3.0.300'
    // Import the facial feature detection model package.
    implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:3.3.0.300'
    // Import the 3D face detection model package.
    implementation 'com.huawei.hms:ml-computer-vision-face-3d-model:3.3.0.300'

Hay muchas configuraciones en las implementaciones para el actual android

    classpath "com.huawei.agconnect:agcp:1.3.1.300"
    maven{ url'https://developer.huawei.com/repo/'}

Código build.gradle(:app)

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.huawei.agconnect'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.1"

    defaultConfig {
        applicationId "com.william.hselfiecamera"
        minSdkVersion 23
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    signingConfigs{
        release{
            storeFile file('HSelfieCamera') 
            keyAlias('key0')
            keyPassword('17LrGr2RyKPlhFT6fjH7') 
            storePassword('17LrGr2RyKPlhFT6fjH7')
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug{
            signingConfig signingConfigs.release
            debuggable true
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.3.1'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    //HUawei Account Kit
    implementation 'com.huawei.hms:hwid:5.0.1.301'
    //Huawei Push Kit
    implementation 'com.huawei.hms:push:5.0.0.300'
    //HUawei Machine Learning
    implementation 'com.huawei.hms:ml-computer-vision-face:2.0.1.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-shape-point-model:2.0.1.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-emotion-model:2.0.1.300'
    implementation 'com.huawei.hms:ml-computer-vision-face-feature-model:2.0.1.300'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    // Add this line
    implementation 'com.huawei.agconnect:agconnect-core:1.3.1.300'

}