javafxports 'android' gradle task requires "Android Support Library" which is retired from Android SDK Manager...what now?
The official Gluon docs say in the prerequisites for an Android build:
From the Android SDK Manager, install...from Extras the Android Support Library
However, it seems that this is retired from the sdk manager in lieu of the "Android Support Repository", a gradle repository. The javafxports plugin is apparently still looking for the old support library folder in the android SDK, as indicated by the error:
Cannot expand ZIP '<my AppData path>\Local\Android\sdk\extras\android\support\multidex\library\libs\android-support-multidex.jar' as it does not exist
which has this stackoverflow answer, indicating the sdk doesn't install it there anymore, even with "Obsolete" checked in the sdk manager. How can we get the javafxports gradle plugin to find the support library while it runs the 'android' build task? Sure we could manually move it there, but that'd be a really ugly process for using with a build server or dev team...
So far (current release version 1.2.0), the jfxmobile plugin has been working with the obsolete Android Support Library.
As now it is not only obsolete but not available any more for download, as Joeri Sykora commented, there is a snapshot available with a fix to use the new Support Repository.
Until release version 1.3.0 is out, you can use it providing you refer the repository to download this snapshot, so there is no need to download, build or install manually the plugin:
buildscript {
repositories {
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots'
}
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.3.0-SNAPSHOT'
}
}
This will work if you have installed with the Android SDK Manager Extras/Google Repository: check your Android sdk path for this folder: ANDROID_HOME/extras/google/m2repository
, and the Extras/Android Support Repository: check for ANDROID_HOME/extras/android/m2repository/com/android/support/multidex/1.0.1/multidex-1.0.1.aar
And don't forget to apply the changes in the build script to your gradle project (Sync button on top-left of Gradle window in IntelliJ).