Skip to content
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

Upgrade to AGP 8.5.2 #524

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions Android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -61,6 +61,7 @@ android {
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
namespace 'app.intra'
lintOptions {
// Ignore lint errors that we believe are safe to ignore.
baseline file("lint-baseline.xml")
@@ -125,11 +126,12 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation "androidx.viewpager2:viewpager2:1.0.0"
// For Firebase Analytics, etc.
implementation 'com.google.firebase:firebase-analytics:19.0.2' // Last version for API <19
implementation 'com.google.firebase:firebase-perf:20.0.4'
implementation 'com.google.firebase:firebase-crashlytics:18.2.6'
implementation 'com.google.firebase:firebase-crashlytics-ndk:18.2.6'
implementation 'com.google.firebase:firebase-config:21.0.1'
implementation 'com.google.firebase:firebase-analytics:22.1.2' // Last version for API <19
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this comment is not accurate any more?

Suggested change
implementation 'com.google.firebase:firebase-analytics:22.1.2' // Last version for API <19
implementation 'com.google.firebase:firebase-analytics:22.1.2'

implementation 'com.google.firebase:firebase-perf:21.0.2'
implementation 'com.google.firebase:firebase-crashlytics:19.2.1'
implementation 'com.google.firebase:firebase-crashlytics-ndk:19.2.1'
implementation 'com.google.firebase:firebase-config:22.0.1'
implementation 'com.google.firebase:firebase-core:21.1.1'

// Go backend (use fileTree instead of files to prevent Android Studio sync errors)
implementation fileTree(goBuildDir) {
24 changes: 12 additions & 12 deletions Android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dependencyLocking {
lockAllConfigurations()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still need to lock the dependencies, this might lead to a large amount of changes.

Copy link
Author

@mzennis mzennis Dec 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @jyyi1 please help to re-review my PR, I was adding three more commits:

let me know if you have any feedback

lockMode = LockMode.STRICT
}
//dependencyLocking {
// lockAllConfigurations()
// lockMode = LockMode.STRICT
//}

allprojects {
repositories {
@@ -16,17 +16,17 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.4'
classpath 'com.android.tools.build:gradle:8.5.2'

// For Firebase Analytics
classpath 'com.google.gms:google-services:4.3.10'
classpath 'com.google.firebase:perf-plugin:1.4.0'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
}
dependencyLocking {
lockAllConfigurations()
lockMode = LockMode.STRICT
classpath 'com.google.gms:google-services:4.4.2'
classpath 'com.google.firebase:perf-plugin:1.4.2'
classpath 'com.google.firebase:firebase-crashlytics-gradle:3.0.2'
}
// dependencyLocking {
// lockAllConfigurations()
// lockMode = LockMode.STRICT
// }
}

task clean(type: Delete) {
6 changes: 5 additions & 1 deletion Android/gradle.properties
Original file line number Diff line number Diff line change
@@ -25,5 +25,9 @@ android.useAndroidX=true
ANDROID_COMPILE_SDK_VERSION=33
ANDROID_BUILD_TOOLS_VERSION=33.0.0

ANDROID_MIN_SDK_VERSION=16
ANDROID_MIN_SDK_VERSION=21
ANDROID_TARGET_SDK_VERSION=33
org.gradle.dependency.verification=off
android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false
Comment on lines +31 to +32
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these two settings necessary?

Copy link
Author

@mzennis mzennis Jan 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well, starting Android Gradle Plugin (AGP) version 8.0 and above, the default value for:
android.nonTransitiveRClass & android.nonFinalResIds are true.

  • android.nonTransitiveRClass => each module's R class only includes resources defined within that specific module. It does not include resources from its dependencies.
  • android.nonFinalResIds => means that resource IDs are generated as non-final by default, allowing for potential modifications at runtime.

and, we are using those in:
Screenshot 2025-01-24 at 22 00 19

Also, I don't think we need to change how it's done, since I'm worried it might mess up other stuff.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my suggestion is, if we're going to change these, we should do it in a separate PR. wdyt?

2 changes: 1 addition & 1 deletion Android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists