2016-04-11 1 views
1

Je suis en train d'importer un projet de github appelé android-netspoof, je suis nouveau sur les outils de la plate-forme NDK, je ne sais pas à ce sujet. J'ai déjà téléchargé le NDK et extrait le zip, et ajouté le chemin dans les variables d'environnement. Je veux importer ce projet pour apprendre, mais je reçois cette erreur Error:(12, 0) Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental. Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration. <a href="openFile:C:\Users\Shreyash-2107\Desktop\android-netspoof-1.9.01111111\app\build.gradle">Open File</a> s'il vous plaît aidez-moi l'importation de ce projet.Android - NDK intégration est obsolète erreur

Répondre

5

La réponse est dans le message d'erreur (TL; DR: ajouter "android.useDeprecatedNdk = true" à votre gradle.properties), mais cela peut ne pas être évident si vous n'êtes pas familier avec l'historique.

Il était une fois, l'équipe d'outils Android a publié une version du plugin Gradle avec le support de NDK. Mais Gradle n'était pas très bon pour compiler C++, donc le support n'était pas tout ce qu'ils espéraient. Ensuite, Gradle a décidé d'ajouter un très bon support C++. Un seul problème: C++ est vraiment différent de Java, et l'équipe de Gradle s'est rendu compte que leur modèle d'objet Java-centric n'allait pas être à la hauteur de la tâche. Donc, ils ont inventé un new object model (qui, d'ailleurs, semble être un bien meilleur design.) Malheureusement, le nouveau modèle d'objet a pris un certain temps pour incuber et encore (à partir d'avril 2016) n'est pas officiellement publié.

Cela laisse Android Studio dans un endroit difficile. Il ne semble pas y avoir grand intérêt à essayer de supporter le support C++ dans l'ancien modèle Gradle, mais en même temps, il ne peut pas passer au nouveau modèle tant qu'il n'est pas stable. La solution provisoire est de continuer sur le chemin stable pour l'instant, mais aussi de fournir un plugin qui fonctionne avec le nouveau modèle expérimental de Gradle. Dans cet esprit, vous pouvez évaluer les deux options que le message d'erreur vous donne. La première consiste à continuer avec l'ancien support NDK en ajoutant "android.useDeprecatedNDK = true" à votre fichier gradle.properties. L'autre est d'utiliser le experimental plugin, ce qui nécessite d'apporter des modifications substantielles à votre projet actuel.

Il semble que vous essayez de compiler un projet existant que vous n'avez pas écrit, et que ce projet existant a un script de construction qui utilise l'ancien support NDK. Donc, vous allez probablement vouloir aller avec l'option "useDeprecatedNDK". Si vous écriviez un projet à partir de zéro, vous seriez probablement plus heureux avec le plugin expérimental.

+3

le projet n'a pas de gradle.properties comment puis-je faire un nouveau aussi nside gradle.properties où écrire "android.useDeprecatedNDK = true" inde le fichier – GeekWithGlasses

2

Pour permettre Android Studio pour créer l'application ajouter un nom de fichier gradle.properties à la plate-forme \ dossier android contenant la ligne suivante:

android.useDeprecatedNdk=true 
+0

J'ai lu beaucoup de réponses similaires. Vous êtes le premier qui répond avec une direction claire quoi faire. Votez! – user2783091