LinusU / LinusU/react-native-get-random-values

android builds fails due to duplicate class with react-native-random-uuid

Abierto
#44 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
JavaScript
Estrellas
415
Forks
63
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

ive been looking into generating random values in react-native. i found this library at first and used it together with the uuid library. i then saw this issue: https://github.com/LinusU/react-native-get-random-values/issues/32

where someone suggested to add crypto.randomUUID() too. to keep the library clean, you made a new library: https://github.com/LinusU/react-native-random-uuid

i then installed that library to try it as well. then when i build the android app the build fails and i get an error like this:

* What went wrong:
Execution failed for task ':app:mergeLibDexDevelopmentDebug'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
   > There was a failure while executing work items
      > A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
         > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
           Type org.linusu.BuildConfig is defined multiple times: /Users/adb/dev/APP_NAME/node_modules/react-native-get-random-values/android/build/.transforms/aa2fd757f1fb328047e3f797775fb731/transformed/classes/classes.dex, /Users/adb/dev/APP_NAME/node_modules/react-native-random-uuid/android/build/.transforms/ce3394d28852a5322f9e5e76c2b08d87/transformed/classes/classes.dex
           Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.

with a link to: https://developer.android.com/build/dependencies?buildsystem=ndk-build#duplicate_classes

i think the problem lies here:

Type org.linusu.BuildConfig is defined multiple times

i dont know if this value can even be changed. i know some package names cannot be changed after they have been released.

this may not be a problem realistically, as there may not be a reason to have both libraries installed at the same time. i was just experimenting to see how they worked.

the build was also successful as soon as a deleted react-native-get-random-values.

also as a sidenote, im not sure if this is also the case for ios. i currently have some unrelated problems with some ios pods which means i cant even install pods successfully. maybe someone else can test it out to see if it also happens on ios.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce la compilación de Android con react-native-get-random-values y react-native-random-uuid instalados, comenzando por el fallo mergeLibDexDevelopmentDebug. Inspecciona las dos salidas de compilación de Android en busca de la definición duplicada de org.linusu.BuildConfig; se considera terminado cuando se hayan establecido la causa y un resultado compatible para ambas bibliotecas, comprobando iOS por separado si es relevante.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
android, javascript, react-native
Área
build-system, mobile
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.