У меня проблемы с компиляцией приложения Ionic 3 в Jenkins 2.164.1. для Android
CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForRelease
:javaPreCompileRelease
:compileReleaseJavaWithJavac/var/lib/jenkins/workspace/dev/AppMovilDocenteCas-android/platforms/android/src/com/customtabplugin/ChromeCustomTabPlugin.java:46: error: cannot find symbol final Context context = this.cordova.getContext();
symbol: method getContext()
location: variable cordova of type CordovaInterface
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Я уже читал о похожих проблемах, касающихся sourceCompatibility
и targetCompatibility
. Эти свойства можно изменить в файле build.gradle
, но, поскольку я нахожусь в среде CI и генерируется build.grade, я не могу изменить это напрямую.
Что я пробовал:
- Копирование файла
build-extra.gradle
с помощью Cordova Hook after_prepare
. Мой файл build-extra.gradle выглядит следующим образом
build-extra.gradle
ext.postBuildExtras = {
android {
defaultConfig {
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
}
В настоящее время я использую эти инструменты в Jenkins
- Gradle v3.5
- Android Build Tools v25.0.3
Мое приложение использует:
- Cordova v7.0.1
- Ionic v3.9.2
- Плагины Cordova:
<plugin name="cordova-plugin-app-version" spec="^0.1.9" />
<plugin name="cordova-plugin-customurlscheme" spec="^4.3.0" />
<plugin name="cordova-plugin-device" spec="^1.1.7" />
<plugin name="cordova-plugin-geolocation" spec="^2.4.3" />
<plugin name="cordova-plugin-network-information" spec="^1.3.4" />
<plugin name="cordova-plugin-safariviewcontroller" spec="^1.5.4" />
<plugin name="cordova-plugin-splashscreen" spec="^4.1.0" />
<plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="cordova-sqlite-storage" spec="^2.6.0" />
<plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
<plugin name="onesignal-cordova-plugin" spec="^2.6.0" />
Сталкивались ли вы с подобной проблемой раньше? Любое понимание может быть полезным! Спасибо!