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.
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.
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'
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.
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