Coder Social home page Coder Social logo

Comments (6)

MikhailSuendukov avatar MikhailSuendukov commented on June 4, 2024 1

Hi @fabiendem , thank you for reaching out to us, I will discuss this with the team and come back with news soon

from appcenter-sdk-android.

MikhailSuendukov avatar MikhailSuendukov commented on June 4, 2024

Hi @fabiendem. I wanted to update you on our recent testing with the SDK. We've rigorously tested our SDK in applications using Android Gradle Plugin (AGP) version 8.x and found no issues. The SDK operated as expected, and AppCenter services started successfully without any problems.
Given these results, it's clear that it's not necessary to build the SDK with AGP 8.0 specifically, even though it has introduced changes to the declaration of namespaces in the Gradle file. Our SDK, which is currently built with AGP 4.2.2, continues to be fully compatible.
Based on these findings, there's no requirement for us to update our AGP at this time.
If you don't have any further concerns, I'll proceed to close this issue. If you have any other questions or if there's anything else you'd like us to investigate, please feel free to let us know. You're welcome to reopen this issue at any time.

from appcenter-sdk-android.

fabiendem avatar fabiendem commented on June 4, 2024

Hi @MikhailSuendukov,
Thanks for the details. Could you please read below and reconsider?

The Android Gradle plugin 8 introduced this breaking change, which requires Android modules to declare a namespace: https://developer.android.com/build/releases/gradle-plugin#namespace-dsl
You must set a namespace in the AppCenter library for apps which use AGP 8+:

Projects which are built with AGP 8+ will require modules to have the namespace set.

You may not need to bump the AGP version in your library, but the Android AppCenter SDK should at least declare a namespace to be compatible with apps built using AGP 8+.
Example in this repo (uses AGP 4.2.2 internally): https://github.com/zoontek/react-native-permissions/pull/782/files

If you want to be retro-compatible with older AGP version, you may be able to use this snippet: react-native-community/discussions-and-proposals#671 (comment)

When you say:

We've rigorously tested our SDK in applications using Android Gradle Plugin (AGP) version 8.x and found no issues. The SDK operated as expected, and AppCenter services started successfully without any problems.

🤔 In this case why not upgrading? But I understand it may not be urgent

Thank you!

from appcenter-sdk-android.

MikhailSuendukov avatar MikhailSuendukov commented on June 4, 2024

Thank you very much for your information, in this case, could you please clarify for me what consequences can lead to the fact that we will not have a namespace in our build file when connecting our current SDK to an application using AGP v8, as far as I understand, the use of this property is advisory? Because I tested it on the AGP v8 sample application and there were no problems when starting the services. Thank you in advance.

from appcenter-sdk-android.

fabiendem avatar fabiendem commented on June 4, 2024

Thank you very much for your information, in this case, could you please clarify for me what consequences can lead to the fact that we will not have a namespace in our build file when connecting our current SDK to an application using AGP v8, as far as I understand, the use of this property is advisory? Because I tested it on the AGP v8 sample application and there were no problems when starting the services. Thank you in advance.

It is announced as a breaking change: https://developer.android.com/build/releases/gradle-plugin#namespace-dsl
But maybe Google's recommendation is incorrect. You should at least start to see warnings when you build your app with dependencies which are not declaring the namespace.

Breaking change: namespace required in module-level build script
You must set the namespace in the module-level build.gradle.kts file, rather than the manifest file. You can start using the namespace DSL property starting with AGP 7.3.

This whole thing has been triggered by this post: react-native-community/discussions-and-proposals#671 (comment)

Even though we work on a React Native app, we're using AppCenter Android at the Android level.
I wouldn't be surprised if native Android project will ask you for the same.

from appcenter-sdk-android.

MikhailSuendukov avatar MikhailSuendukov commented on June 4, 2024

Hmm. I am unable to reproduce either the error or the warning using our SDK with the application with AGP version v8.0.0. Could you please help me with repro?

from appcenter-sdk-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.