web-dev-qa-db-fra.com

L'exécution a échoué pour la tâche ': Expo-Autorisations: Compiledebugkotlin'

Je travaille sur un React Application native où j'ai inclus certaines bibliothèques d'expo (flux de travail nu). J'avais utilisé avec succès expo-location, mais maintenant après que j'ai installé aussi expo-camera, l'application ne construira plus avec npm run Android, n'a pas encore essayé sur iOS.

Il va crancer à :expo-permissions:compileDebugKotlin étape.

J'ai trouvé le problème sur un autre forum, ils disaient de mettre à jour le buildToolsVersion de build.gradle à 29.0.2 Mais c'était déjà sur 29.0.2. Puis j'ai mis à jour react-native-unimodules qui est tenu d'utiliser les bibliothèques Expo et contient des autorisations d'exposition. Cela n'a pas fonctionné. En ce moment, mes versions actuelles des Libs sont:

"react-native-unimodules": "^0.12.0"

"expo-permissions": "~10.0.0"

"expo-camera": "^9.1.1"

Avez-vous des idées? Quelqu'un a-t-il rencontré ce problème aussi?

Merci

Une structure plus élaborée est la suivante:

Task :expo-permissions:compileDebugKotlin FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.2/userguide/command_line_interface.html#sec:command_line_warnings
153 actionable tasks: 4 executed, 149 up-to-date
e: app\node_modules\expo-permissions\Android\src\main\Java\expo\modules\permissions\PermissionsService.kt: (16, 40): Unresolved reference: PermissionAwareActivity
e: app\node_modules\expo-permissions\Android\src\main\Java\expo\modules\permissions\PermissionsService.kt: (170, 17): Unresolved reference: PermissionAwareActivity
e: app\node_modules\expo-permissions\Android\src\main\Java\expo\modules\permissions\PermissionsService.kt: (236, 19): Unresolved reference: PermissionAwareActivity
e: app\node_modules\expo-permissions\Android\src\main\Java\expo\modules\permissions\PermissionsService.kt: (237, 62): Too many arguments for public final fun requestPermissions(@NonNull p
0: Array<(out) String!>, p1: Int): Unit defined in Android.app.Activity
e: app\node_modules\expo-permissions\Android\src\main\Java\expo\modules\permissions\PermissionsService.kt: (237, 64): Cannot infer a type for this parameter. Please specify it explicitly.
e: app\node_modules\expo-permissions\Android\src\main\Java\expo\modules\permissions\PermissionsService.kt: (237, 77): Cannot infer a type for this parameter. Please specify it explicitly.
e: app\node_modules\expo-permissions\Android\src\main\Java\expo\modules\permissions\PermissionsService.kt: (237, 97): Cannot infer a type for this parameter. Please specify it explicitly.

FAILURE: Build failed with an exception.

12
chris chris

J'ai résolu ceci en rétrogradant réacteur-natif-unimodules à partir de la version 0.13.2 à 0.12.0, je pense que le problème est que la nouvelle version de Unimodules nécessite une mise à niveau de votre Android Construire des outils afin de La bonne chose ne déclassait pas les unimodules, mais mettez à niveau vos outils de construction de 28.0.0 à 29.0.3 comme ceci :

buildscript {
    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 21
        compileSdkVersion = 29
        targetSdkVersion = 29
0
Hassan Kandil

J'ai eu le mien en train de travailler en réduisant la version de ma expo de 43.0.0 à 40.0.0 et en définissant "SDKVersion": "38.0.0". Il semble que les versions ne correspondaient pas les unes avec les autres ou avec d'autres dépendances de l'Expo.

dans app.json :

{
  "name": "MyApp",
  "displayName": "MyApp",
      "expo": {
        "name": "MyApp",
        "slug": "myapp.app",
        "sdkVersion": "38.0.0"
      }
}

... et dans paquet.json:

"dependencies" {
    "expo": "^40.0.0",
    "expo-file-system": "^9.3.0",
    "expo-linking": "~2.0.1",
    "expo-splash-screen": "~0.8.0",
    "expo-status-bar": "~1.0.3",
    "expo-updates": "^0.4.2",
}
0
Okpo