¿Cómo eliminar el soporte nativo de un proyecto de Android en eclipse porque eclipse muestra errores en jni?


Accidentalmente hice clic en "Agregar soporte nativo" dentro de "Herramientas de Android"... Eso arruinó todos los archivos del JNI de mi proyecto. ¿Cómo deshago eso ? Cómo eliminar el soporte Nativo de mi Proyecto Android ?

Author: Amit, 2012-07-16

5 answers

Con el nuevo ADT 20, si el proyecto tiene una carpeta jni o Android.mk archivo la naturaleza c++ es añadida por el plugin de forma predeterminada,

En general, para eliminar la naturaleza C++, solo necesita eliminar la .cproject file en el árbol del proyecto, eliminar y volver a importar el proyecto en el espacio de trabajo y ya está listo (c++ project nature removed).

Pero creo que solo debe agregar las definiciones de macro y construir importaciones y eclipse funcionará bien. Si vas a

Project properties->C/C++ general->Paths and symbols

Y allí se agrega la ruta al NDK includes para la plataforma correspondiente (algo así como)

{NDK_PATH}/platforms/android-9/arch-arm/usr/include 

Y todas las importaciones agregadas de script de compilación, así como cualquier macros declarada de script de compilación eclipse se encargará de las cosas del jni muy bien.

 27
Author: Tancho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-16 23:43:35

La única manera que pude encontrar para eliminar de manera confiable la naturaleza C del proyecto fue editando a mano el archivo .project de Eclipse para el proyecto.

  1. Cierre el proyecto Eclipse (por ejemplo, saliendo de Eclipse).

  2. Abra el archivo .project en un editor de texto o xml. Habrá al menos 2 nodos <buildCommand> que deben eliminarse. Elimine el nodo <buildCommand> con name org.eclipse.cdt.managedbuilder.core.genmakebuilder y todos sus hijos, y el nodo <buildCommand> con name org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder y sus hijos. Por último, eliminar el líneas:

    <nature>org.eclipse.cdt.core.cnature</nature> <nature>org.eclipse.cdt.core.ccnature</nature> <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>

  3. Elimine completamente el archivo .cproject.

 33
Author: bleater,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-22 10:53:35

Abra su archivo .project en un editor de texto y simplemente elimine las entradas para CDT y C nature. Se distinguen fácilmente de los de JDT. He hecho esto varias veces y no es nada peligroso, pero hacer una copia de seguridad por seguridad.

EDITAR: Podría ser posible también con Project Properties -> Builders -> Remove CDT Builder pero nunca lo probó.

 4
Author: WindRider,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-03 09:39:22

Haga los siguientes pasos, espero que pueda ayudarlo.

Después de herramientas de Android ->Agregar soporte nativo. Generará el archivo cpp en la carpeta jni. Y eclipse no puede resolverlo. Esta es una manera de arreglar.

  1. Paso 1

    Haga clic derecho en PJ - > agregar nueva carpeta - > En el diálogo agregar nueva carpeta, haga clic en Avanzado> > verificar Carpeta vinculada - > Pedir prestado a [{NDK_PATH}/platforms / android-21 / arch-arm / usr / include ] (usé android -21, puede cambiarlo) (1) OK > OK

  2. Paso 2

    Haga clic con el botón derecho en PJ -> Propiedades -> C/CC general ->Rutas y símbolos ->Pestaña Incluir -> Añadir ->Espacio de trabajo -> seleccione incluir carpeta (1) en su proyecto -> Aceptar . Actualizar y reconstruir.

 2
Author: Son Nguyen Thanh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-04 03:43:59

Simplemente elimine la carpeta jni y borre el proyecto en la interfaz c/c++

 0
Author: Varun Chaudhary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-31 08:28:58