ventas studio sistema purchase play not manager library integradas google compras app android android-studio gradle android-gradle aidl

android - studio - install google play billing library



¿Cómo puedo agregar el archivo aidl a un estudio de Android(desde el ejemplo de facturación en la aplicación) (10)

Agregar esto como una respuesta, ya que parecía ayudar a un buen número de personas.

  1. Cree un nuevo directorio llamado ''aidl'' en ''src / main /''. Debería verse como '' src / main / aidl ''.
  2. Agregue un nuevo nombre de paquete '' com.android.vending.billing '' al directorio '' src / main / aidl ''
  3. Ubique su ubicación de SDK y vaya a "sdk / extras / google / play_billing". La ubicación predeterminada para el SDK es "C: / Archivos de programa (x86) / Android / android-sdk". Si lo cambiaste a medida, deberás averiguar la ubicación a través del administrador de SDK.
  4. Copie ''IInAppBillingService.aidl'' en el paquete creado arriba. Al final, debería verse similar a la imagen de abajo.
  1. Reconstruye el proyecto y debería ser bueno ir.

Nota: asegúrese de incluir la importación necesaria si su referencia no está funcionando

import com.android.vending.billing.IInAppBillingService;

https://issuetracker.google.com/issues/36973270

Editar de un comentario

Después de hacer esto, las referencias a IInAppBillingService en mi código aún se resaltaron como errores, pero después de reconstruir la aplicación, se reconoció la clase

Actualmente estoy migrando una aplicación de Eclipse a Android Studio. Esta aplicación usaba la facturación de la aplicación integrada.

Mi principal problema es compilar el proyecto y el archivo aidl (supongo que todos usan este archivo )

Recibo este mensaje de error:

Gradle: error: cannot find symbol class IInAppBillingService Gradle: error: package IInAppBillingService does not exist

Entonces, siguiendo algunos tutoriales, muevo este archivo de com.mypackage.billing a src / main / aidl (ver esta referencia )

Pero tan pronto como hago eso, obtengo este mensaje:

Gradle: ejecución fallida para la tarea '': xxxxxxxxxxx: compileDebugAidl''.

Error al ejecutar el comando: (...) C: / Users / xxxx / AndroidStudioProjects / xxxxxxProject / xxxxxxx / src / main / aidl / IInAppBillingService.aidl: 45 interfaz IInAppBillingService debe declararse en un archivo llamado com / xxxxxxxx / billing / IInAppBillingService .aidl.

El mensaje es claramente una contradicción con la publicación de la página de errores de Google que he vinculado anteriormente.

¿Alguien acertó para hacer que este archivo de ayuda funcione y me puede ayudar?

Solo para informar, algunos enlaces seguí:


Agregue este código en build.gradle

android { sourceSets { main { aidl.srcDirs = [''src''] } } }

Reconstruye e importa la clase de ayuda


El resto de las publicaciones aquí no funcionaron para mí hasta que creé una nueva carpeta como la que se muestra aquí.


Las respuestas anteriores se concentran en la ubicación del archivo, pero parece que ya lo hiciste correctamente. Experimenté este mismo problema en Android Studio, pero ninguna de las respuestas enumeradas lo resolvió, y me golpeé la cabeza durante una hora. Eventualmente, me di cuenta de que me faltaba una importación obvia:

import com.android.vending.billing.IInAppBillingService;

Una vez que agregué que resolvió este mensaje de error.

Esta importación no se menciona en ninguno de los documentos de facturación de Google ni se incluye en ninguno de los ejemplos de código que encontré. Si bien puede ser obvio para los desarrolladores experimentados de Java, los principiantes que solo intenten aprender su primer proyecto pueden necesitarlo explícitamente señalado.


Necesitamos agregar

  1. crear carpeta - src / main / aidl / packagename y colocar el archivo aidl debajo de esto.

  2. En el archivo aidl, menciona el nombre del paquete. paquete nombredelpaquete

Ahora limpie el proyecto, reconstruya el proyecto - Podemos el archivo java correspondiente para la ayuda generada en la aplicación / build / generated / source / aidl / debug / packagename / youraidl.java


Probé todas las soluciones, pero el problema fue que Android Studio compiló, por cualquier razón aparente, en un tipo de compilación diferente del módulo que contiene los paquetes AIDL que los especificados en la configuración. De la depuración a la versión , por lo que los otros módulos no pudieron ver el paquete de AIDL. Pasando de la depuración a la versión y regresa, resolvió mi problema.



Tal como dice el mensaje de error, debe poner IInAppBillingService.aidl en el directorio correcto dictado por su paquete (com.android.vending.billing).

Dentro de la carpeta src/main/aidl/ que ya tiene, coloque el archivo .aidl en com/android/vending/billing/ .


reiniciar Android Studio funcionó para mí

una segunda cosa tonta que me tomó un tiempo. Solté el código en Android Studio para permitirle crear el archivo, pero creó un .java (como se esperaba) en lugar de un .idj Jiji, estúpido de mí


  • Crear un nuevo directorio bajo src/main llamado aidl
  • Haga clic derecho en el directorio aidl , seleccione aidl new->add package
  • Ingrese el nombre del paquete com.android.vending.billing

  • Copie IInAppBillingService.aidl del directorio Android/Sdk/extras/google/play_billing en el directorio App_name/app/src/main/aidl/com/android/vending/billing

  • Ahora continúe con la codificación de facturación de InApp y mientras define los servicios relacionados con InApp obtendrá un error can not resolve symbol IInAppBillingXXXXXX
  • Ahora vaya a Build desde el menú de android studio, haga clic en Rebuild Project . Esto generará el archivo IInAppBillingService.java dentro de App_Name/app/build/generated/source/aidl/debug/com/android/vending/billing . Esto resolverá el problema.