Contexte - Build Android C++ instable sur Windows (CMake/Ninja path too long, Nitro headers manquants au clean). Modèle .tflite final pas encore prêt. - Désinstall temporaire des deux libs natives, le mock JS dans model.ts continue de servir les détections simulées pondérées. Changements - package.json : retire react-native-fast-tflite (3.0.1) - pnpm-lock.yaml : régénéré, -72 packages dont nitro-modules - src/services/tflite/model.ts : refactor pur mock, interface publique inchangée (loadModel + runInference), procédure de réintégration documentée en tête du fichier - plugins/withCmakeFix.js : plugin Expo config qui injecte les flags CMake (response files + ninja 1.12.1 + OBJECT_PATH_MAX) à chaque prebuild — dormant tant que fast-tflite n'est pas réintégré - app.json : référence le plugin - CLAUDE.md + .claude/notes/android-build : doc de l'état actuel et des étapes de réintégration (idéalement via EAS Build) Reste - src/assets/models/grapevine_v1.tflite conservé pour la réintégration - metro.config.js continue de déclarer .tflite dans assetExts - TypeScript check: 1 erreur préexistante (homeheader.tsx, palette[50]), non liée à ce changement Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
66 lines
2 KiB
JSON
66 lines
2 KiB
JSON
{
|
|
"expo": {
|
|
"name": "VinEye",
|
|
"slug": "vineye",
|
|
"version": "1.0.0",
|
|
"scheme": "vineye",
|
|
"orientation": "portrait",
|
|
"icon": "./src/assets/images/icon.png",
|
|
"userInterfaceStyle": "light",
|
|
"newArchEnabled": true,
|
|
"splash": {
|
|
"image": "./src/assets/images/splash.png",
|
|
"resizeMode": "contain",
|
|
"backgroundColor": "#2D6A4F"
|
|
},
|
|
"ios": {
|
|
"supportsTablet": true,
|
|
"bundleIdentifier": "com.vineye.app",
|
|
"infoPlist": {
|
|
"NSCameraUsageDescription": "VinEye needs camera access to detect grapevine diseases.",
|
|
"NSPhotoLibraryUsageDescription": "VinEye needs access to your photo library to import vine images."
|
|
}
|
|
},
|
|
"android": {
|
|
"adaptiveIcon": {
|
|
"foregroundImage": "./src/assets/images/adaptive-icon.png",
|
|
"backgroundColor": "#2D6A4F"
|
|
},
|
|
"package": "com.vineye.app",
|
|
"permissions": [
|
|
"android.permission.CAMERA",
|
|
"android.permission.INTERNET",
|
|
"android.permission.ACCESS_NETWORK_STATE",
|
|
"android.permission.READ_EXTERNAL_STORAGE",
|
|
"android.permission.WRITE_EXTERNAL_STORAGE",
|
|
"android.permission.ACCESS_COARSE_LOCATION",
|
|
"android.permission.ACCESS_FINE_LOCATION"
|
|
]
|
|
},
|
|
"web": {
|
|
"favicon": "./src/assets/images/icon.png"
|
|
},
|
|
"plugins": [
|
|
"./plugins/withCmakeFix",
|
|
"expo-localization",
|
|
[
|
|
"expo-camera",
|
|
{
|
|
"cameraPermission": "VinEye needs camera access to detect grapevines.",
|
|
"microphonePermission": false,
|
|
"recordAudioAndroid": false
|
|
}
|
|
],
|
|
[
|
|
"expo-location",
|
|
{
|
|
"locationAlwaysAndWhenInUsePermission": "VinEye souhaite accéder à votre position pour géolocaliser vos scans sur la carte.",
|
|
"locationWhenInUsePermission": "VinEye souhaite accéder à votre position pour géolocaliser vos scans sur la carte.",
|
|
"isAndroidBackgroundLocationEnabled": false,
|
|
"isIosBackgroundLocationEnabled": false
|
|
}
|
|
]
|
|
]
|
|
}
|
|
}
|