AudioMeter icon indicating copy to clipboard operation
AudioMeter copied to clipboard

Update to TargetSdk 34, Compile with Java 21 and associated changes

Open krc opened this issue 1 year ago • 1 comments

This updates just build- and manifest- related code, it does not touch Java application code.

Main point of changes:

  • Set target API level to 34 (Android 14), minimum to 28 (Android 9)
  • Compile with Java 21 instead of 8

Updates a few things to make that work and remove warnings from Android Studio:

  • Update com.android.support to 28 (last version before the change to Jetpack/AndroidX)
  • Update Gradle to 8.9
  • Update Gradle repos (jcenter is gone)
  • Update com.android.tools.build

Main Gradle/manifest syntax changes were:

compileSdkVersion -> compileSdk (etc) delete rootProject.buildDir -> delete rootProject.layout.buildDirectory added languageVersion = JavaLanguageVersion.of(21) added android:exported to android manifest added namespace for modules / removed package from android top level manifest

All per Android Studio warnings/tips

JUnit has not been updated, no API changes in the code have been made for newer versions, to keep this minimal.

Basic testing in Android Studio emulation: "Medium Phone API 35", "Pixel 4 API 30", "Small Phone API 28" Tested with USB attached phone Pixel 6a, Android 14/API 34 - Graphene OS

Options, "Help" and "About" screen all work, volume meter works - though I did not do any technical or math validation (but no logic code was touched, so). But the graph goes higher when sounds are louder, and acts differently in different modes.

krc avatar Oct 17 '24 22:10 krc

Went ahead and made this PR related to my issue #11 Feel free to use or not. If anything should be corrected before pulling, let me know!

Thanks again.

krc avatar Oct 17 '24 22:10 krc