Update Android dependencies and AGP (#165)

This updates kotlin, gson, AGP, and WorkManager to the latest versions.

It also updates the README to include the correct ndk version for our AGP, as specified here: developer.android.com/build/releases/gradle-plugin#compatibility
This commit is contained in:
Ian VanSchooten 2024-09-26 16:27:10 -04:00 committed by GitHub
parent a6398d6813
commit 2b900fe982
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 18 additions and 8 deletions

View File

@ -22,7 +22,7 @@ Run `flutter doctor` and fix everything it complains before proceeding
- Copy `env.sh.example` and set it up for your machine - Copy `env.sh.example` and set it up for your machine
- Ensure you have run `gomobile init` - Ensure you have run `gomobile init`
- In Android Studio, make sure you have the current ndk installed by going to Tools -> SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `21.1.6352462` version. - In Android Studio, make sure you have the current ndk installed by going to Tools -> SDK Manager, go to the SDK Tools tab, check the `Show package details` box, expand the NDK section and select `26.1.10909125` version.
- Ensure you have downloaded an ndk via android studio, this is likely not the default one and you need to check the - Ensure you have downloaded an ndk via android studio, this is likely not the default one and you need to check the
`Show package details` box to select the correct version. The correct version comes from the error when you try and compile `Show package details` box to select the correct version. The correct version comes from the error when you try and compile
- Make sure you have `gem` installed with `sudo gem install` - Make sure you have `gem` installed with `sudo gem install`

View File

@ -77,10 +77,10 @@ flutter {
} }
dependencies { dependencies {
def workVersion = "2.7.1" def workVersion = "2.9.1"
implementation "androidx.security:security-crypto:1.0.0" implementation "androidx.security:security-crypto:1.0.0"
implementation "androidx.work:work-runtime-ktx:$workVersion" implementation "androidx.work:work-runtime-ktx:$workVersion"
implementation 'com.google.code.gson:gson:2.8.9' implementation 'com.google.code.gson:gson:2.11.0'
implementation "com.google.guava:guava:31.0.1-android" implementation "com.google.guava:guava:31.0.1-android"
implementation project(':mobileNebula') implementation project(':mobileNebula')

View File

@ -98,7 +98,12 @@ class MainActivity: FlutterActivity() {
apiClient = APIClient(context) apiClient = APIClient(context)
registerReceiver(refreshReceiver, IntentFilter(ACTION_REFRESH_SITES), RECEIVER_NOT_EXPORTED) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
registerReceiver(refreshReceiver, IntentFilter(ACTION_REFRESH_SITES), RECEIVER_NOT_EXPORTED)
} else {
@Suppress("UnspecifiedRegisterReceiverFlag")
registerReceiver(refreshReceiver, IntentFilter(ACTION_REFRESH_SITES))
}
enqueueDNUpdater() enqueueDNUpdater()
} }

View File

@ -213,7 +213,12 @@ class NebulaVpnService : VpnService() {
} }
private fun registerReloadReceiver() { private fun registerReloadReceiver() {
registerReceiver(reloadReceiver, IntentFilter(ACTION_RELOAD), RECEIVER_NOT_EXPORTED) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
registerReceiver(reloadReceiver, IntentFilter(ACTION_RELOAD), RECEIVER_NOT_EXPORTED)
} else {
@Suppress("UnspecifiedRegisterReceiverFlag")
registerReceiver(reloadReceiver, IntentFilter(ACTION_RELOAD))
}
} }
private fun unregisterReloadReceiver() { private fun unregisterReloadReceiver() {

View File

@ -18,8 +18,8 @@ pluginManagement {
plugins { plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version '8.5.2' apply false id "com.android.application" version '8.6.1' apply false
id "org.jetbrains.kotlin.android" version "1.7.20" apply false id "org.jetbrains.kotlin.android" version "2.0.20" apply false
} }
include ':app', ':mobileNebula' include ':app', ':mobileNebula'

View File

@ -73,7 +73,7 @@ class _AboutScreenState extends State<AboutScreen> {
Padding( Padding(
padding: EdgeInsets.only(top: 20), padding: EdgeInsets.only(top: 20),
child: Text( child: Text(
'Copyright © 2022 Defined Networking, Inc', 'Copyright © 2024 Defined Networking, Inc',
textAlign: TextAlign.center, textAlign: TextAlign.center,
)), )),
]), ]),