Comments (6)
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.
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.
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+:
- https://developer.android.com/build/configure-app-module#set-namespace
- https://developer.android.com/build/publish-library/prep-lib-release#choose-namespace
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.
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.
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.
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)
- Support for multiple ABIs? HOT 1
- App is not automatically closing after the update. HOT 3
- DistributeListener interface methods are not called on React native Android. HOT 2
- Failed to install app update HOT 5
- Possibility of accessing release number and using it in app HOT 1
- SDK crashes if the underlying Android call throws an exception (NetworkStateHelper.isAnyNetworkConnected) HOT 6
- Fail to install update after successful download HOT 50
- Add support for Android 11's ActivityManager.getHistoricalProcessExistReasons API HOT 3
- Google Play - Intent Redirection vulnerability HOT 3
- Distribute in-app update issue HOT 4
- Several ANRs when report HOT 4
- Ability to disable App Update notification HOT 1
- CheckForUpdate via Web API succeed but fail via SDK HOT 3
- No crash attachments and analytics events HOT 4
- Distribute crash when targetSDK is set to android 14 HOT 17
- App set as Home App not automatically launched after mandatory update HOT 1
- In-app updates fail on MIUI devices with optimizations enabled (AppCenter SDK 4.3.1+) HOT 2
- Exclude properties from DeviceInfo HOT 3
- get hostAddress on background HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from appcenter-sdk-android.