Introducción a HMS Core

1

Pasos para el desarrollo de aplicaciones con Huawei

2

Debugging en la nube con Huawei

3

¿Qué es HMS Core?

4

Creación del proyecto en Android Studio

5

Creación de la aplicación en App Gallery Connect

6

Configuración de firma SHA-256

7

Configuración de APIs

8

Configuración de Android Studio y Gradle

9

Probando la sincronización de la aplicación

Autenticación con HMS Account Kit

10

Diseñando nuestra pantalla de login

11

Agregando los métodos de autenticación

12

Verificando la autenticación

13

Agregando el método de logout

Construyendo nuestra cámara de selfies con HMS ML Kit

14

Machine Learning con Huawei

15

Agregando los permisos para acceder a la cámara

16

Diseñando la pantalla personalizada de la cámara

17

Creando la capa de gráficos de la cámara

18

Creando el layout para nuestro rostro

19

Creando el layout del lente de la cámara

20

Creando nuestra actividad de cámara

21

Agregando nuestra cámara personalizada a la actividad

22

Agregando los métodos de verificación de rostro

23

Agregando la detección de rostro y sonrisa individual

24

Agregando la detección de rostro y sonrisa grupal

25

Tomar nuestra imagen y agregar un método de re-toma de foto

26

Guardar la foto en nuestra galeria

Aplicando notificaciones push con HMS Push kit

27

Crear el servicio de push notifications

28

Agregar el servicio de HMS Push kit

29

Verificar la conectividad de las notificaciones en App Gallery Connect

Conclusiones y consejos

30

Tips y solución de inconvenientes frecuentes

31

¿Qué más tiene Huawei?

No tienes acceso a esta clase

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

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

17 Días
8 Hrs
59 Min
38 Seg

Configuración de Android Studio y Gradle

8/31
Recursos

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'

}