Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Android Runtime doesn't play nice with productFlavors

Abierto
#1,597 0 comentarios 1 reacción 1 asignado Ver en GitHub

@vmutafov ya está trabajando en esto.

Desde el 19/5/2020.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Environment

  • CLI: 6.5.0
  • Cross-platform modules: 6.5.1
  • Android Runtime: 6.5.0

Describe the bug
When adding productFlavors to your build.gradle, something odd seems to happen in the metadata generation and some classes aren't available to NativeScript anymore.

To Reproduce

  • Create a sample project where you call console.log(com.tns.NativeScriptApplication.getInstance()); from Typescript
  • Test the app, it should work and return the application instance
  • Now add productFlavors (they don't even have to include any specific settings) to your project, like this:
android {
  defaultConfig {
    minSdkVersion 17
    generatedDensities = []
  }

  flavorDimensions "api"

  productFlavors {
    minApi21 {
      dimension "api"
      versionNameSuffix "-minApi21"
    }

    minApi17 {
      dimension "api"
      versionNameSuffix "-minApi17"
    }
  }

  aaptOptions {
    additionalParameters "--no-version-vectors"
  }
}

android.variantFilter { variant ->
    // Don't build minApi21 apk for debug.
    if(variant.buildType.name.endsWith('debug') && variant.name.contains("minApi21")) {
        variant.setIgnore(true);
    }
}
  • Remove your platforms folder
  • Run the app again, now the com.tns.NativeScriptApplication.getInstance() will result in a Cannot read property 'getInstance' of undefined error.

Expected behavior
Behavior should be the same as without productFlavors.

Sample project
https://github.com/jerbob92/nativescript-productflavor-bug

Lenguaje dominante
C++
Estrellas
563
Forks
144
Merge medio
10 h 46 min
PR fusionados (30 d)
14

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NativeScript/android

Todos los issues de NativeScript/android

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.