-
Notifications
You must be signed in to change notification settings - Fork 3
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
Task: Update dependencies #36
Conversation
0e943a2
to
a5d4b72
Compare
d7f73cc
to
cd42cb3
Compare
cd42cb3
to
824e749
Compare
e597eba
to
f459955
Compare
@@ -407,7 +408,7 @@ jobs: | |||
script: | | |||
echo $GITHUB_REPOSITORY | |||
adb devices | |||
./gradlew connectedCheck | |||
./gradlew app:connectedCheck |
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.
In case we run ./gradlew connectedCheck
CI will run Integration tests on each module, and in case there is no test it will fail, and CI will complain. So we just have to run Integration tests inside app
@@ -390,7 +391,7 @@ jobs: | |||
|
|||
## Actual task | |||
- name: Run Android tests on API ${{ matrix.api-level }} / ${{ matrix.arch }} / ${{ matrix.target }} | |||
uses: reactivecircus/android-emulator-runner@v2 | |||
uses: reactivecircus/android-emulator-runner@v2.28.0 |
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.
If you use reactivecircus/android-emulator-runner@v2
CI complains and is not green
d57ff64
to
66d0787
Compare
app/proguard-rules.pro
Outdated
@@ -41,3 +41,5 @@ | |||
|
|||
# Dagger | |||
-dontwarn com.google.errorprone.annotations.* | |||
|
|||
-dontwarn com.google.firebase.perf.network.FirebasePerfUrlConnection |
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.
I had to add this, if not when I ran ./gradlew clean assemble bundle
I got this error:
ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /Users/javierarroyo/Projects/Personal/Forlago/app/build/outputs/mapping/release/missing_rules.txt.
ERROR: R8: Missing class com.google.firebase.perf.network.FirebasePerfUrlConnection (referenced from: java.util.List kotlinx.coroutines.internal.FastServiceLoader.parse(java.net.URL))
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.
Something feels wrong here: we don't have such rule in the Link proguard files.
app/src/main/AndroidManifest.xml
Outdated
package="com.leinardi.forlago"> | ||
|
||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> | ||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> |
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.
I had to add this permission to avoid this error:
> Task :app:lintDebug FAILED
Lint found 1 errors, 3 warnings. First failure:
/Users/javierarroyo/Projects/Personal/Forlago/app/src/main/AndroidManifest.xml: Error: When targeting Android 13 or higher, posting a permission requires holding the POST_NOTIFICATIONS permission (usage from leakcanary.NotificationEventListener) [NotificationPermission]
Explanation for issues of type "NotificationPermission":
When targeting Android 13 and higher, posting permissions requires holding
the runtime permission android.permission.POST_NOTIFICATIONS.
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.
This feels very wrong: we don't need this permission on release builds since leak canary is only needed for debug.
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.
The issue was due to not using the latest version of leak canary. Many deps were actually not updated, which is strange since this was the main purpose of this task.
@@ -16,6 +16,6 @@ | |||
|
|||
distributionBase=GRADLE_USER_HOME | |||
distributionPath=wrapper/dists | |||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip | |||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-all.zip |
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.
Please do not upgrade this file manually, but run the ./gradlew wrapper
task, so that also the binary files will be upgraded (see the commit I'm about to push)
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="com.leinardi.forlago"> | ||
|
||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> | ||
<application | ||
android:name=".Forlago" | ||
android:allowBackup="false" |
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.
Reporter: Android Lint
Rule: DataExtractionRules
Severity: WARN
File: app/src/main/AndroidManifest.xml L20
Missing data extraction rules The attribute `android:allowBackup` is deprecated from Android 12 and higher and may be removed in future versions. Consider adding the attribute `android:dataExtractionRules` specifying an `@xml` resource which configures cloud backups and device transfers on Android 12 and higher. Before Android 12, the attributes `android:allowBackup` and `android:fullBackupContent` were used to configure all forms of backup, including cloud backups, device-to-device transfers and adb backup. In Android 12 and higher, these attributes have been deprecated and will only apply to cloud backups. You should instead use the attribute `android:dataExtractionRules`, specifying an `@xml` resource that configures which files to back up, for cloud backups and for device-to-device transfers, separately. If your `minSdkVersion` supports older versions, you'll still want to specify an `android:fullBackupContent` resource if the default behavior is not right for your app.
This branch depends on
Master
Pull request checklist
master
)./gradlew spotlessApply check
before creating the commit and it has run successfullyWIP
commits in this PRType of Changes
Screenshots
NO UI changes