NativeScript / NativeScript/android
Android Runtime doesn't play nice with productFlavors
Offen
@vmutafov arbeitet bereits daran.
Seit 19.5.2020.
- Vorherrschende Sprache
- C++
- Sterne
- 563
- Forks
- 144
- Ø Merge
- 10 Std. 46 Min.
- Gemergte PRs (30 T.)
- 14
Beschreibung
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 aCannot read property 'getInstance' of undefinederror.
Expected behavior
Behavior should be the same as without productFlavors.
Sample project
https://github.com/jerbob92/nativescript-productflavor-bug
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.