J'obtiens l'erreur spécifiée suivante,
E:\SDK\ndk-bundle\build\core\setup-app-platform.mk
Erreur: (115) *** Android NDK: abandon. Arrêt. Erreur: échec d'exécution pour la tâche ': un7Zip: compileReleaseNdk'.
com.Android.ide.common.process.ProcessException: erreur lors de l'exécution du processus E:\sdk\ndk-bundle\ndk-build.cmd avec des arguments {NDK_PROJECT_PATH = null APP_BUILD_SCRIPT = E:\appRizort\RizortCardboard\un7Zip\build\intermediates\ndk\release\Android.mk APP_PLATFORM = Android-25 NDK_OUT = E:\appRizort\RizortCardboard\un7Zip\build\intermediates\ndk\release\obj NDK_LIBS_OUT = E:\appRizort\RizortCardboard\un7Zip\build\intermediates\ndk\release\lib APP_ABI = armeabi-v7a, armeabi, x86, arm64-v8a}
Votre NDK_PROJECT_PATH est null, si votre chemin d'accès au dossier du projet contient des espaces blancs, cela peut provoquer ce problème.
APP_PLATFORM
que vous spécifiez lorsque vous créez la partie native de votre projet avec NDK est très important. L'histoire est décrite en détail dans le guide NDK :
Cette variable contient la version minimale de la plate-forme Android Android que vous souhaitez prendre en charge. Par exemple, une valeur de
Android-15
spécifie que votre bibliothèque utilise des API qui ne sont pas disponibles ci-dessous Android 4.0.3 (API niveau 15) et ne peuvent pas être utilisées sur des appareils exécutant une version de plate-forme inférieure. Pour une liste complète des noms de plate-forme et images système Android système, voir Android API natives NDK .Au lieu de modifier directement cet indicateur, vous devez définir la propriété minSdkVersion dans les blocs
defaultConfig
ouproductFlavors
de votre fichier build.gradle au niveau du module . Cela garantit que votre bibliothèque n'est utilisée que par des applications installées sur des appareils exécutant une version adéquate d'Android. La chaîne d'outils ndk-build utilise la logique suivante pour choisir la version de plate-forme minimale pour votre bibliothèque en fonction de l'ABI que vous créez et duminSdkVersion
que vous spécifiez:
- S'il existe une version de plate-forme pour l'ABI égale à
minSdkVersion
, ndk-build utilise cette version.- Sinon, s'il existe des versions de plate-forme inférieures à
minSdkVersion
pour l'ABI, ndk-build utilise la plus élevée de ces versions de plate-forme. C'est un choix raisonnable car une version de plate-forme manquante signifie généralement qu'il n'y a eu aucune modification des API de plate-forme natives depuis la version disponible précédente.- Sinon, ndk-build utilise la prochaine version de plate-forme disponible supérieure à
minSdkVersion
.
NDK n'a pas de Android-25
Plate-forme. Tu peux choisir Android-24
ou (avec r15 beta), Android-26
, si votre plate-forme minimale prise en charge est O. Si votre minSdkVersion
est inférieure, ou en cas de doute, choisissez une plate-forme inférieure pour NDK, car les plates-formes NDK sont compatibles vers le haut.