From 922ecd9768c3f66fc61256b9e157aa8feadd3f22 Mon Sep 17 00:00:00 2001 From: HydrogenIITG Date: Fri, 21 Feb 2025 18:03:19 +0530 Subject: [PATCH 1/4] added android specific instructions --- .../platform_specific_instructions.md | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index 32016e064..df469e6aa 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -27,6 +27,18 @@ In case you are having a local build failure on macOS due to "audio_session" do ## Android (Work in Progress) +- If any case targeting the Android API level below 21 or the project and the libraries it references exceed 65,536 methods, you encounter the following build error that indicates your app has reached the limit of the Android build architecture: +``` +trouble writing output: +Too many field references: 131000; max is 65536. +You may try using --multi-dex option. +``` +OR +``` +Conversion to Dalvik format failed: +Unable to execute dex: method ID not in [0, 0xffff]: 65536 +``` +To solve this problem, Add the `multiDexEnabled true` line to the `defaultConfig` section at `android/app/build.gradle file` ``` @@ -39,7 +51,33 @@ android { } ``` -For more information on multidex support, you can refer to the Android developer guide on [Configuring Multidex](https://developer.android.com/studio/build/multidex). +For more information on multidex support, you can refer to the Android developer guide on [Configuring Multidex](https://developer.android.com/studio/build/multidex). + +- If you are experiencing build failure issues while debugging due to Gradle/JDK/AGP version resolving try the following + upgrading gradle version by CLI command +``` +gradle wrapper --gradle-version +``` +In any case above command fails then you need to edit the Gradle distribution reference in the `gradle/wrapper/gradle-wrapper.properties` file. The following example sets the Gradle version to 8.8 in the `gradle-wrapper.properties` file. +``` +... +distributionUrl = https\://services.gradle.org/distributions/gradle-8.8-bin.zip +... +``` +upgrade AGP by specifying the plugin version in the top-level `build.gradle` file. The following example sets the plugin to version 8.8.0 from the `build.gradle` file: +``` +plugins { +... +id 'com.android.application' version '8.8.0' apply false +id 'com.android.library' version '8.8.0' apply false +... +} + +``` +For more information on Gradle and Java version compatibility, you can refer to [Compatibility Matrix](https://docs.gradle.org/current/userguide/compatibility.html). +For more information on Gradle and Android Gradle Plugin compatibility, you can refer to [Update Gradle](https://developer.android.com/build/releases/gradle-plugin). +Note : It is highly recommended that always ensure gradle and agp versions are compatible with your JDK version not the vice-versa and having atleast JDK 17 is recommmended. + ## Web From 7eaa494d85793a0c0f360b5141eaf7e2100bbf60 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 22 Feb 2025 08:49:46 +0530 Subject: [PATCH 2/4] Update platform_specific_instructions.md --- .../platform_specific_instructions.md | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index df469e6aa..df243103d 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -27,19 +27,22 @@ In case you are having a local build failure on macOS due to "audio_session" do ## Android (Work in Progress) -- If any case targeting the Android API level below 21 or the project and the libraries it references exceed 65,536 methods, you encounter the following build error that indicates your app has reached the limit of the Android build architecture: +In case you are targeting the Android API level <21 or the project and the libraries it references exceed 65,536 methods, you encounter the following build error that indicates your app has reached the limit of the Android build architecture: + ``` trouble writing output: Too many field references: 131000; max is 65536. You may try using --multi-dex option. ``` + OR + ``` Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536 ``` -To solve this problem, -Add the `multiDexEnabled true` line to the `defaultConfig` section at `android/app/build.gradle file` + +To solve this problem, add the `multiDexEnabled true` line to the `defaultConfig` section at `android/app/build.gradle file` ``` android { @@ -53,18 +56,22 @@ android { For more information on multidex support, you can refer to the Android developer guide on [Configuring Multidex](https://developer.android.com/studio/build/multidex). -- If you are experiencing build failure issues while debugging due to Gradle/JDK/AGP version resolving try the following - upgrading gradle version by CLI command +If you are experiencing build failure issues while debugging due to Gradle/JDK/AGP version resolving try upgrading the gradle version by CLI command + ``` gradle wrapper --gradle-version ``` -In any case above command fails then you need to edit the Gradle distribution reference in the `gradle/wrapper/gradle-wrapper.properties` file. The following example sets the Gradle version to 8.8 in the `gradle-wrapper.properties` file. + +In case the above command fails, edit the Gradle distribution reference in the `gradle/wrapper/gradle-wrapper.properties` file. The following example sets the Gradle version to 8.8 in the `gradle-wrapper.properties` file. + ``` ... distributionUrl = https\://services.gradle.org/distributions/gradle-8.8-bin.zip ... ``` -upgrade AGP by specifying the plugin version in the top-level `build.gradle` file. The following example sets the plugin to version 8.8.0 from the `build.gradle` file: + +Upgrade AGP by specifying the plugin version in the top-level `build.gradle` file. The following example sets the plugin to version 8.8.0 from the `build.gradle` file: + ``` plugins { ... @@ -72,12 +79,13 @@ id 'com.android.application' version '8.8.0' apply false id 'com.android.library' version '8.8.0' apply false ... } - ``` -For more information on Gradle and Java version compatibility, you can refer to [Compatibility Matrix](https://docs.gradle.org/current/userguide/compatibility.html). -For more information on Gradle and Android Gradle Plugin compatibility, you can refer to [Update Gradle](https://developer.android.com/build/releases/gradle-plugin). -Note : It is highly recommended that always ensure gradle and agp versions are compatible with your JDK version not the vice-versa and having atleast JDK 17 is recommmended. +For more information on: +- Gradle and Java version compatibility, you can refer to [Compatibility Matrix](https://docs.gradle.org/current/userguide/compatibility.html). +- Gradle and Android Gradle Plugin compatibility, you can refer to [Update Gradle](https://developer.android.com/build/releases/gradle-plugin). + +Note : It is highly recommended that always ensure gradle and agp versions are compatible with your JDK version not the vice-versa and having atleast JDK 17 is recommmended. ## Web From a135adec5f21ff798b2f36b442798845b5f2bf5e Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 22 Feb 2025 08:50:06 +0530 Subject: [PATCH 3/4] Update platform_specific_instructions.md --- doc/dev_guide/platform_specific_instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index df243103d..6666ceaf6 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -25,7 +25,7 @@ You can read more [here](https://docs.flutter.dev/platform-integration/macos/bui In case you are having a local build failure on macOS due to "audio_session" do check out issue https://github.com/foss42/apidash/issues/510 for solution. -## Android (Work in Progress) +## Android In case you are targeting the Android API level <21 or the project and the libraries it references exceed 65,536 methods, you encounter the following build error that indicates your app has reached the limit of the Android build architecture: From 17272dd01a95657b82b2f8d40edcdf32a4c8b925 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 22 Feb 2025 08:51:00 +0530 Subject: [PATCH 4/4] Update platform_specific_instructions.md --- doc/dev_guide/platform_specific_instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index 6666ceaf6..14b836efd 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -42,7 +42,7 @@ Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536 ``` -To solve this problem, add the `multiDexEnabled true` line to the `defaultConfig` section at `android/app/build.gradle file` +To solve this problem, add the `multiDexEnabled true` line to the `defaultConfig` section in `android/app/build.gradle file` ``` android {