Integración para aplicaciones nativas de Android
En el proceso de integración para aplicaciones nativas de Android, necesitas:
acceder a los recursos necesarios;
configurar build.gradle y dependencias;
modificar el manifiesto; y
sincronizar archivos Gradle.
Acceder a los recursos
Para acceder a los recursos necesarios para instalar XpressPlug para aplicaciones nativas de Android, debes agregar el siguiente código al archivo build.gradle en tu proyecto Android, dentro del proyecto React:
allprojects { repositories { maven { url "https://developer.veritran.com/resources/api/v4/groups/10/-/packages/maven" name "GitLab" credentials(HttpHeaderCredentials) { name = 'Private-Token' value = '<PRIVATE_TOKEN>' } authentication { header(HttpHeaderAuthentication) } } }
Importante
Para obtener el token privado, envía un correo electrónico a mobile_support@veritran.com con el asunto “Acceso a XpressPlug”, y el equipo te proporcionará los recursos necesarios.
Configurar build.gradle y dependencias
A continuación, debes agregar XpressPlug como una dependencia al proyecto actual, junto con cualquier otra dependencia necesaria. Sigue estos pasos:
Agrega las siguientes líneas al archivo build.gradle (módulo) en tu proyecto de Android para instalar los artefactos necesarios para integrar XpressPlug.
//Veritran dependencies implementation 'com.veritran:ui:7.9.1.49455' implementation 'com.veritran:ui_interfaces:7.9.1.49455' implementation 'com.veritran:xpressplug:7.9.1.49455' //Third party dependencies implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'com.karumi:dexter:6.2.1' implementation 'org.nanohttpd:nanohttpd-webserver:2.3.1' implementation 'com.scottyab:rootbeer-lib:0.0.8' implementation 'androidx.core:core:1.3.0' implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.fragment:fragment:1.1.0' implementation 'com.google.android.gms:play-services-basement:17.0.0' implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0' implementation 'com.google.code.gson:gson:2.10.1' implementation 'com.google.guava:guava:31.1-android' implementation 'com.madgag.spongycastle:core:1.54.0.0' implementation 'com.madgag.spongycastle:prov:1.54.0.0' implementation 'com.madgag.spongycastle:pkix:1.54.0.0' implementation 'org.apache.commons:commons-text:1.2' implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'com.squareup.duktape:duktape-android:1.3.0' implementation 'com.squareup.okhttp3:okhttp:3.12.13' implementation 'com.facebook.soloader:soloader:0.10.3' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'org.conscrypt:conscrypt-android:2.5.2' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'androidx.security:security-crypto:1.0.0' implementation 'com.airbnb.android:lottie:3.0.7'
Habilita Kotlin para el proyecto agregando la siguiente dependencia al proyecto build.gradle:
buildscript { ... dependencies { ... classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0" ... } ... }
Agrega lo siguiente al principio del módulo build.gradle:
apply plugin: 'kotlin-android'
Modificar el manifiesto
Luego, debes modificar el AndroidManifest.xml en tu proyecto Android. Ve el ejemplo a continuación:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.reactxpressplugexample"> <application android:allowBackup="false" android:fullBackupContent="false" tools:replace="android:allowBackup,android:fullBackupContent,android:label"> <uses-library android:name="org.apache.http.legacy" android:required="false" /> </application> </manifest>
Nota
Consulta la documentación para desarrolladores de Android para obtener más información sobre allowBackup, fullBackupContent and httpLegacy.
Sincronizar archivos Gradle
Por último, debes sincronizar los archivos gradle. Para hacer esto, ve a Android Studio y a File > Sync Project with Gradle Files. También puedes escribir el siguiente comando en tu terminal:
./gradlew --refresh-dependencies