Script `create` para Cordova Android falla al crear nuevos errores de proyecto con la configuración java / ant

Estoy intentando crear un nuevo proyecto de Android usando Cordova / Phonegap.

He descargado cordova-2.9.0, y el ADT Bundle para Mac.

Extraje ADT a ~ / Developer / Android, y lo agregué a mi PATH:

export PATH="$HOME/Development/Android/sdk/tools:$PATH" export PATH="$HOME/Development/Android/sdk/platform-tools:$PATH" 

A continuación, intentar ejecutar el cordova create script, pero falla:

 → bin sudo ./create ~/Projects/myproject/cordova-android com.mydomain.myproject myproject Password: BUILD FAILED /Users/asgeo1/Development/Android/sdk/tools/ant/build.xml:714: The following error occurred while executing this line: /Users/asgeo1/Development/Android/sdk/tools/ant/build.xml:728: Compile failed; see the compiler error output for details. Total time: 1 second An unexpected error occurred: ant jar > /dev/null exited with 1 Deleting project... 

No es muy útil. Por lo tanto, edito el script de create Cordova para que create más información.

  # COMMENTED OUT piping to /dev/null: # # compile cordova.js and cordova.jar pushd "$BUILD_PATH"/framework # > /dev/null ant jar #> /dev/null popd #> /dev/null 

Luego volví a ejecutar el script de create :

 → bin sudo ./create ~ / Proyectos / myproject / cordova-android com.mydomain.myproject myproject
 ~ / Descargas / cordova-2.9.0 / cordova-android / framework ~ / Descargas / cordova-2.9.0 / cordova-android / bin
 Archivo de compilación: /Users/asgeo1/Downloads/cordova-2.9.0/cordova-android/framework/build.xml

 -pre-build:

 -check-env:
  [Checkenv] Herramientas para SDK de Android Revisión 22.0.5
  [Checkenv] Instalado en / Users / asgeo1 / Desarrollo / Android / sdk

 -preparar:
      [Echo] Nombre del proyecto: Cordova
   [Gettype] Tipo de proyecto: Android Library

 -build-setup:
 [Getbuildtools] Uso de las últimas herramientas de compilación: 18.0.1
      [Echo] Resolver la meta de la compilación de Córdoba ...
 [Gettarget] Objetivo del proyecto: Android 4.3
 [Gettarget] Nivel de API: 18
      [eco] ----------
      [Echo] Crear directorios de salida si es necesario ...
      [eco] ----------
      [Echo] Resolver dependencias para Córdoba ...
 [Dependencia] Dependencias de la biblioteca:
 [Dependency] No hay bibliotecas
      [eco] ----------
      [Echo] Construyendo Bibliotecas con '$ {build.target}' ...
    [Subant] No sub-construye para iterar en

 -code-gen:
 [Mergemanifest] No hay cambios en los archivos de AndroidManifest.
      [Echo] Manejo de archivos aidl ...
      [Aidl] No hay archivos AIDL que compilar.
      [eco] ----------
      [Echo] Manejo de archivos RenderScript ...
 [Renderscript] No hay archivos RenderScript que compilar.
      [eco] ----------
      [Echo] Recursos de manejo ...
      [Aapt] No hay recursos cambiados.  R.java y Manifest.java sin tocar.
      [eco] ----------
      [Echo] Manejo de BuildConfig class ...
 [Buildconfig] Generación de la clase BuildConfig.

 -pre-compile:

 -compilar:
     [Javac] Compilando 104 archivos de origen en /Users/asgeo1/Downloads/cordova-2.9.0/cordova-android/framework/bin/classes
     [Javac] /Users/asgeo1/Downloads/cordova-2.9.0/cordova-android/framework/src/com/squareup/okhttp/Connection.java:171: el método no anula un método de su superclase
     [Javac] @Override public void close () throws IOException {
     Javac

Y hay otros 40 errores como el de arriba, con respecto a @override .

De lo que puedo decir en Google, esto se debe a que en jdk 1.6 y superior, las anotaciones @override cambiaron. (O algo así): ¿Por qué javac falla en @Override anotación

Aceptar, así que averiguar que la configuración de Android SDK para ant está en un archivo llamado build.xml . Bajo y he aquí, tiene algunas configuraciones para Java 1.5:

 <property name="java.target" value="1.5" /> <property name="java.source" value="1.5" /> 

Si cambio esos valores a 1.6 o 1.7, consigo un error de java al volver a ejecutar el script de create Cordova:

 -compile: [javac] Compiling 104 source files to /Users/asgeo1/Downloads/cordova-2.9.0/cordova-android/framework/bin/classes [javac] javac: invalid source release: 1.7 [javac] Usage: javac <options> <source files> 

Estoy realmente rascando mi cabeza aquí. No soy un experto en Java, así que no entiendo lo que está pasando aquí.

¿Alguien sabe cómo ejecutar el script de create de Cordova Android en OSX?

ACTUALIZAR

Después de seguir el siguiente consejo de @ cartland, pude deshacerme de los errores de @Override . Todavía consiguiendo un último error sin embargo:

 -compile: [javac] Compiling 104 source files to /Users/asgeo1/Downloads/cordova-2.9.0/cordova-android/framework/bin/classes [javac] /Users/asgeo1/Downloads/cordova-2.9.0/cordova-android/framework/src/org/apache/cordova/InAppBrowser.java:523: error: cannot find symbol [javac] settings.setPluginsEnabled(true); [javac] ^ [javac] symbol: method setPluginsEnabled(boolean) [javac] location: variable settings of type WebSettings [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] 1 error 

Voy a tratar de averiguar lo que es – pero si alguien sabe, por favor, enviar una respuesta 🙂

ACTUALIZAR 2

Sé lo que es el segundo error. Se menciona aquí: https://developer.motorolasolutions.com/thread/3640

Cordova 2.9.0 no es compatible con Android SDK 18. Necesito usar Cordova 3.0.0 con Android SDK 18. (o, por el contrario, rebajar el SDK de Android a 17)

Estoy ejecutando Ubuntu 10.4 64bit; Oracle JDK 1.7.0_25-b15; Eclipse Kepler; Android SDK 4.3; PhoneGap 3.0.

Tenía exactamente el mismo problema que usas la CLI. Cargar el proyecto en Eclipse funcionó bien (~ / .cordova / lib / android / cordova / 3.0.0 / framework / .project). Como Eclipse utiliza su propio compilador interno de Java, pensé que había un problema con la instalación de Oracle que estaba usando, y había – tipo de.

Resultó que alguna aplicación había instalado una versión de tools.jar (entre otros) de un JRE anterior en la carpeta ext de Java. Me parece extraño que javac cargaría jarras dependientes de aquí antes de los tarros en su propia carpeta lib, pero que parece ser la orden de precedencia. De todos modos, he eliminado todos los archivos de la carpeta ext y todo funcionó correctamente.

  • JDK ubicación: / usr / lib / jvm / java-7-oracle /
  • Ubicación externa: / usr / java / packages / lib / ext /

No tengo mi Mac en mi para comprobar lugares, pero intenta / Library / Java / Extensions o ~ / Library / Java / Extensions

No necesitaba hacer otros cambios. Sin embargo, mientras estaba experimentando, intenté establecer las siguientes propiedades en el archivo ant.properties del proyecto. 1.5, 1.6, 1.7 todo el trabajo.

  • Java.target = 1.5
  • Java.source = 1.5

En realidad, el problema aquí parece ser la incompatibilidad entre su versión java y los tarros compilados de Cordova. Para una solución rápida, es mejor instalar Java 1.5 y utilizarlo para su desarrollo. No olvide restaurar los cambios en build.xml a 1.5.

  • Importar código fuente de Android en eclipse
  • Qué es stringentity en android y su uso
  • Problema con SQL Query Android Where Clause
  • Android-Cerrar Otras aplicaciones
  • ¿Por qué un Comparator debería implementar Serializable?
  • Javadoc en Android (Eclipse)
  • Bucle liso del juego del androide
  • Notificación genera error al utilizar elementos vectoriales
  • Desactivar oscurecimiento oscuro en el cajón de navegación
  • SearchView escucha voces
  • Android, Blur Bitmap al instante?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.