-
Notifications
You must be signed in to change notification settings - Fork 37.8k
Adjust Gradle properties to fix apk
build
#28611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
This change fixes the `apk` target build after bumping Qt version from 5.15.5 to 5.15.10.
481a4fb
to
5f50406
Compare
ANDROID_API_LEVEL
to 31apk
build
Reworked. The PR description has been updated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 5f50406 - seems fine.
It still fails for me with the same reason in CI: |
Does the CI task fail locally for you? |
Yes. Does |
For me, the following
|
The task https://cirrus-ci.com/task/6379161720193024?logs=ci#L4214 isn't using volumes/caches, so f467444 is irrelevant for this task. Did you clear all caches? |
Steps to reproduce on a fresh Jammy VM: (:warning: mode):
|
Steps to reproduce on a fresh install of podman (normal CI mode):
|
Does the following patch: --- a/ci/test/01_base_install.sh
+++ b/ci/test/01_base_install.sh
@@ -98,7 +98,7 @@ if [ -n "$ANDROID_HOME" ] && [ ! -d "$ANDROID_HOME" ]; then
fi
mkdir -p "$ANDROID_HOME"
unzip -o "$ANDROID_TOOLS_PATH" -d "$ANDROID_HOME"
- yes | "${ANDROID_HOME}"/cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_HOME}" --install "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" "platform-tools" "platforms;android-${ANDROID_API_LEVEL}" "ndk;${ANDROID_NDK_VERSION}"
+ yes | "${ANDROID_HOME}"/cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_HOME}" --install "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" "platform-tools" "platforms;android-31" "platforms;android-${ANDROID_API_LEVEL}" "ndk;${ANDROID_NDK_VERSION}"
fi
work for you? (clear cache may be needed) |
If it works for you on a fresh install of the operating system, it should also work for me. Otherwise, we'll have to debug something else. |
78d3062 ci: Install Android API 31 platform as Qt expects (Hennadii Stepanov) Pull request description: When building the `qt` package, it expects that the default (in Qt's view) Android API platform is installed. During the recent Qt version [update](#28561), it has been changed: ```diff --- a/mkspecs/features/android/sdk.prf +++ b/mkspecs/features/android/sdk.prf @@ -1,6 +1,6 @@ API_VERSION_TO_USE = $$(ANDROID_API_VERSION) isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = $$API_VERSION -isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-28 +isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-31 ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$API_VERSION_TO_USE/android.jar !exists($$ANDROID_JAR_FILE) { ``` This PR fixes the CI for the Android task and addresses #28561 (comment). Qt [docs](https://doc.qt.io/qt-5/android.html) still claim that Android API Level 21 and up are supported, however, I did not test every possible configuration. NOTE: #28611 is still valid. ACKs for top commit: maflcko: lgtm ACK 78d3062 jarolrod: tACK 78d3062 Tree-SHA512: 781fba6d80aae7e6500854de14af0d30169c258e395b9e482a5430a7b4a2211a6181f8c9ee58543c896b431abf09e3e7c5573b9672ed128658f11f98a2006e7e
5f50406 Adjust Gradle properties (Hennadii Stepanov) Pull request description: On the master branch @ d2b8c5e, building the `apk` target fails: ``` $ make -C src/qt apk ... > Task :compileDebugJavaWithJavac FAILED /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/QtActivityDelegate.java:690: error: cannot find symbol Display display = (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) ^ symbol: variable R location: class VERSION_CODES /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/QtActivityDelegate.java:692: error: cannot find symbol : m_activity.getDisplay(); ^ symbol: method getDisplay() location: variable m_activity of type Activity /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/QtActivityDelegate.java:833: error: cannot find symbol float refreshRate = (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) ^ symbol: variable R location: class VERSION_CODES /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/QtActivityDelegate.java:835: error: cannot find symbol : m_activity.getDisplay().getRefreshRate(); ^ symbol: method getDisplay() location: variable m_activity of type Activity /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/QtLayout.java:95: error: cannot find symbol Display display = (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) ^ symbol: variable R location: class VERSION_CODES /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/QtLayout.java:97: error: cannot find symbol : ((Activity)getContext()).getDisplay(); ^ symbol: method getDisplay() location: class Activity /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/ExtractStyle.java:418: error: cannot find symbol if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) ^ symbol: variable Q location: class VERSION_CODES /home/hebasto/git/gui/src/qt/android/src/org/qtproject/qt5/android/ExtractStyle.java:421: error: cannot find symbol numStates = stateList.getStateCount(); ^ symbol: method getStateCount() location: variable stateList of type StateListDrawable Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 8 errors FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD FAILED in 827ms ... ``` Fixing it by updating the Gradle tool's properties. ACKs for top commit: fanquake: ACK 5f50406 - seems fine. Tree-SHA512: 52e59fe1c69841370ce2eb670f3618182bf2843582074af4895b8ecb6e5f70dc3fe4eecbffa212efaa534b423ced5b75020f6f09917b52f452121c1e55fbcaac
78d3062 ci: Install Android API 31 platform as Qt expects (Hennadii Stepanov) Pull request description: When building the `qt` package, it expects that the default (in Qt's view) Android API platform is installed. During the recent Qt version [update](bitcoin#28561), it has been changed: ```diff --- a/mkspecs/features/android/sdk.prf +++ b/mkspecs/features/android/sdk.prf @@ -1,6 +1,6 @@ API_VERSION_TO_USE = $$(ANDROID_API_VERSION) isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = $$API_VERSION -isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-28 +isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-31 ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$API_VERSION_TO_USE/android.jar !exists($$ANDROID_JAR_FILE) { ``` This PR fixes the CI for the Android task and addresses bitcoin#28561 (comment). Qt [docs](https://doc.qt.io/qt-5/android.html) still claim that Android API Level 21 and up are supported, however, I did not test every possible configuration. NOTE: bitcoin#28611 is still valid. ACKs for top commit: maflcko: lgtm ACK 78d3062 jarolrod: tACK 78d3062 Tree-SHA512: 781fba6d80aae7e6500854de14af0d30169c258e395b9e482a5430a7b4a2211a6181f8c9ee58543c896b431abf09e3e7c5573b9672ed128658f11f98a2006e7e
On the master branch @ d2b8c5e, building the
apk
target fails:Fixing it by updating the Gradle tool's properties.