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.
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
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",
}