Closed HunterHR closed 5 years ago
We are automatically closing this issue because it does not appear to follow any of the provided issue templates.
π Click here if you want to report a reproducible bug or regression in React Native.
android\app\build\intermediates\manifests\full\release\AndroidManifest.xml:63: AAPT: No resource identifier found for attribute 'appComponentFactory' in package 'android'
FAILURE: Build failed with an exception.
Failed to process resources, see aapt output above for details.
hey ant one find any solution, i am getting same issue
warning: string 'ucrop_error_input_data_is_absent' has no default translation. warning: string 'ucrop_mutate_exception_hint' has no default translation. /Users/xxx/xxx/android/app/build/intermediates/manifests/full/debug/AndroidManifest.xml:45: AAPT: No resource identifier found for attribute 'appComponentFactory' in package 'android'
FAILURE: Build failed with an exception.
Failed to process resources, see aapt output above for details.
Facing the same issue. How to resolve??
Same here. Error is thrown local and in bitrise.
These bots are quick to close issues for no valid reasonπ π ... I'm also facing this issue... Can't seem to find a fix online
Maybe related to this: https://developers.google.com/android/guides/releases#june_17_2019
Could be so...
This worked for me.
implementation(project(":react-native-push-notification"), { exclude group: "com.google.android.gms" exclude group: "com.google.firebase" })
After that the notifications stopped working here so I have to add this in my app/android/build.gradle: ext { googlePlayServicesVersion = "16.0.0" firebaseVersion = "17.3.4" }
Now its working perfectly!
See the issue: https://github.com/facebook/react-native/issues/25293
Also experiencing this issue - have reverted to previous commits and getting the same error, which suggests it's an external issue (like the Google news link given)
@viniciusoliveira01 Thanks mate! Your solution worked perfectly!
Any update in the issue?
I solved my issue.
In my case react-native-push-notification
was making reference to my project build.gradle
to the parameter firebaseVersion
and since it was not there, it was using the '+'.
Also my compileSdkVersion needed to be upgraded to 29.
ext {
compileSdkVersion = 29
googlePlayServicesVersion = "15.0.0"
firebaseVersion = "17.3.4"
}
These 2 coments helped me solve it https://github.com/facebook/react-native/issues/25293#issuecomment-503181071 https://github.com/facebook/react-native/issues/25293#issuecomment-503045776
Hi guys any update about this issue. i am facing the same
Add this to the end of your app/build.gradle dependencies, it forces the gcm library version- so then the third party libraries you're using in your project that are dependent on it, don't break
configurations.all { resolutionStrategy { force 'com.google.android.gms:play-services-gcm:16.1.0' force 'com.google.android.gms:play-services-base:16.1.0' force 'com.google.firebase:firebase-core:16.0.9' force 'com.google.firebase:firebase-messaging:18.0.0' }}
also came across this problem, is there a solution?
@udaisubramaniam solved my problem ! Thanks !
Problem solved.
In my case i only add this line in my build.gradle file
ext { buildToolsVersion = '28.0.3' minSdkVersion = 23 compileSdkVersion = 27 targetSdkVersion = 27 supportLibVersion = '27.1.1'
// this line solve my problem
googlePlayServicesVersion = '16.+'
}
npm i jetifier && npx jetify
kinda helped me
@heldercunha thanks dude, you are hero
@heldercunha Thanks it worked perfectly.
None of the solutions work for me, are there any other options to fix the problem?
@heldercunha Thanks, it worked perfectly
It worked for me by adding below lines
Android/App/build.gradle
Changed below line compile 'com.google.android.gms:play-services-base:+' compile 'com.google.android.gms:play-services-maps:+'
To compile 'com.google.android.gms:play-services-base:16.1.0' compile 'com.google.android.gms:play-services-maps:16.0.0'
AND in Android/build.gradle ext { buildToolsVersion = "26.0.3" minSdkVersion = 18 compileSdkVersion = 26 targetSdkVersion = 26 supportLibVersion = "26.1.0" googlePlayServicesVersion = "16.+" firebaseVersion = "17.3.4" }
My team faced this issue in three different projects. Each one need a different fix and all are working fine now. I mentioned all 3 fixes below
Solution 1:
implementation(project(":react-native-push-notification"), { exclude group: "com.google.android.gms" exclude group: "com.google.firebase" })
After that the notifications stopped working here so I have to add this in my app/android/build.gradle: ext { googlePlayServicesVersion = "16.0.0" firebaseVersion = "17.3.4" }
Solution 2:
In another case i only added this line in my build.gradle file
ext { buildToolsVersion = '28.0.3' minSdkVersion = 23 compileSdkVersion = 27 targetSdkVersion = 27 supportLibVersion = '27.1.1'
// this line solve my problem googlePlayServicesVersion = '16.+' }
Solution 3:
Finally in app/build.gradle you can use this
dependencies { compile "com.google.android.gms:play-services-gcm:16.1.0" compile "com.google.firebase:firebase-messaging:17.6.0" compile (project(':react-native-push-notification')) { exclude group: "com.google.android.gms", module: "play-services-gcm" exclude group: "com.google.firebase", module: "firebase-messaging" } ... }
I had mentioned the fix for me was this- https://github.com/facebook/react-native/issues/25296#issuecomment-503440779
However incase you use firebase notifications and find they aren't working, add this as well in the dependencies
implementation project(':react-native-firebase') implementation(project(':react-native-push-notification')) { exclude group: 'com.google.android.gms' }
It worked for me by adding below lines
Android/App/build.gradle
Changed below line compile 'com.google.android.gms:play-services-base:+' compile 'com.google.android.gms:play-services-maps:+'
To compile 'com.google.android.gms:play-services-base:16.1.0' compile 'com.google.android.gms:play-services-maps:16.0.0'
AND in Android/build.gradle ext { buildToolsVersion = "26.0.3" minSdkVersion = 18 compileSdkVersion = 26 targetSdkVersion = 26 supportLibVersion = "26.1.0" googlePlayServicesVersion = "16.+" firebaseVersion = "17.3.4" }
god bless you, @Pradeep-DCPL , GOD BLESS YOU was about to lose my cool if that damn debugging and configs and stuff would continue for another 4 hours needed only the firebaseVersion, but still, very very hard to figure out jusst like that, and I DID really try everything imaginable. Next time I am doing my own server for the packages and caching everything, because that is like the 5th time this year that Google does whatever breaking change and using the latest versions would get me a build that is compiling one day and does not the other.
god bless you, @Pradeep-DCPL You save my life . For me i did change from compile 'com.google.android.gms:play-services-base:+' to implementation 'com.google.android.gms:play-services-base:16.1.0' and it work
@Pradeep-DCPL Thanks so much. It works.
For me the issue was with react-native-device-info
but it will happen with anything that uses v17+ of play-services-gcm
.
The fix was to add this to our android/build.gradle
to force the version.
def versionOverrides = [
"com.google.android.gms:play-services-gcm": "16.+"
]
subprojects {
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def overrideVersion = versionOverrides[details.requested.group + ":" + details.requested.name]
if (overrideVersion != null && details.requested.version != overrideVersion) {
logger.info "Overriding dependency ${details.requested.group}:${details.requested.name} version ${details.requested.version} --> $overrideVersion"
details.useVersion overrideVersion
}
}
}
}
You will get "Overriding dependency..." messages which will tell you which packages are being replaced.
Credit to Howard Lewis Ship for the gradle override code.
i am getting same error AAPT: No resource identifier found for attribute 'appCompon entFactory' in package 'android'
i changed googlePlayServicesVersion = '+' to googlePlayServicesVersion = '16.+'
what should i do this is my build.gradle ext { googlePlayServicesVersion = '16.+' buildToolsVersion = "27.0.3" minSdkVersion = 16 compileSdkVersion = 27 targetSdkVersion = 26 supportLibVersion = "27.1.0" }
and my dependencies :
dependencies { compile project(':react-native-image-crop-picker') //compile project(':react-native-facebook-account-kit') compile project(':react-native-youtube') compile project(':react-native-vector-icons') compile project(':react-native-compress-image') compile project(':lottie-react-native') compile project(':react-native-gesture-handler') compile project(':react-native-image-picker') compile project(':react-native-fbads') compile project(':react-native-admob') compile project(':react-native-share') compile project(':react-native-android-permissions') compile project(':react-native-view-shot') compile project(':react-native-image-resizer') compile project(':react-native-fs') compile 'com.facebook.fresco:fresco:1.8.1' compile 'com.facebook.fresco:animated-gif:1.8.1' // For WebP support, including animated WebP compile 'com.facebook.fresco:animated-webp:1.3.0' compile 'com.facebook.fresco:webpsupport:1.3.0' // For WebP support, without animations compile 'com.facebook.fresco:webpsupport:1.3.0' compile project(':react-native-fetch-blob') compile project(':react-native-svg') compile project(':react-native-fbsdk') compile project(':react-native-linear-gradient') compile fileTree(dir: "libs", include: ["*.jar"]) implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation ("com.android.support:support-v4:${rootProject.ext.supportLibVersion}") implementation ("com.android.support:design:${rootProject.ext.supportLibVersion}") compile 'com.google.android.gms:play-services-ads:16.0.0' compile "com.facebook.react:react-native:+" // From node_modules compile 'com.google.android.gms:play-services-auth:+' // should be at least 9.0.0 implementation (project(':react-native-facebook-account-kit')) { exclude group: "com.android.support" } }
For me issue was solved by upgrading react-native-device-info
to latest version (2.1.1) and changed compileSDK from 27 to 28 (also need to install SDK28 from SDK Manager).
For me issue was solved by upgrading
react-native-device-info
to latest version (2.1.1) and changed compileSDK from 27 to 28 (also need to install SDK28 from SDK Manager).
OMG, OMG. You are my life saviour. I changed the compileSDK from 27 to 28 then it's working like a charm. Thanks man. BTW, can you share how you know that we need to increase the compileSDK ?
upgrading react-native-device-info to latest version (2.1.1) and changed compileSDK from 27 to 28 i am getting below error
Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.
com.android.build.api.transform.TransformException: Error while generating the main dex list.
what should i do
After upgrading react-native-device-info to the latest version (2.1.1) and changed compile SDK from 27 to 28, I am getting below error
Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/app/INotificationSideChannel$Stub$Proxy.class
What should I do next?
Add this section to dependencies.gradle file
configurations.all { resolutionStrategy { force 'com.google.android.gms:play-services-gcm:16.1.0' force 'com.google.android.gms:play-services-base:16.1.0' force 'com.google.firebase:firebase-core:16.0.9' force 'com.google.firebase:firebase-messaging:18.0.0' }}
Add this section to dependencies.gradle file
configurations.all { resolutionStrategy { force 'com.google.android.gms:play-services-gcm:16.1.0' force 'com.google.android.gms:play-services-base:16.1.0' force 'com.google.firebase:firebase-core:16.0.9' force 'com.google.firebase:firebase-messaging:18.0.0' }}
but am not using any firebase in my project here is my build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
subprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 28 buildToolsVersion "27.0.2" } } } }
subprojects { if (project.name.contains('react-native-vector-icons')) { buildscript { repositories { jcenter() maven { url "https://dl.bintray.com/android/android-tools/" } } } } }
buildscript {
ext { googlePlayServicesVersion="15.0.1" buildToolsVersion = "27.0.3" minSdkVersion = 16 compileSdkVersion = 28 targetSdkVersion = 26 supportLibVersion = "27.1.0" }
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:3.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
subprojects { if (project.name.contains('react-native-vector-icons')) { buildscript { repositories { maven { url "https://dl.bintray.com/android/android-tools/" } jcenter() } } } }
subprojects { if (project.name.contains('react-native-image-picker')) { buildscript { repositories { maven { url "https://dl.bintray.com/android/android-tools/" } jcenter() } } } }
allprojects { repositories { mavenLocal() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } configurations.all { resolutionStrategy { force 'com.facebook.android:facebook-android-sdk:4.28.0' } } maven { url "https://jitpack.io" } maven { url "https://maven.google.com" } } }
It worked for me by adding below lines
Android/App/build.gradle
Changed below line compile 'com.google.android.gms:play-services-base:+' compile 'com.google.android.gms:play-services-maps:+'
To compile 'com.google.android.gms:play-services-base:16.1.0' compile 'com.google.android.gms:play-services-maps:16.0.0'
AND in Android/build.gradle ext { buildToolsVersion = "26.0.3" minSdkVersion = 18 compileSdkVersion = 26 targetSdkVersion = 26 supportLibVersion = "26.1.0" googlePlayServicesVersion = "16.+" firebaseVersion = "17.3.4" }
@Pradeep-DCPL LifeSaviour <3
After a little tour on the internet. I did this.
Step 1:
Add in the android/build.gradle.
googlePlayServicesVersion = "16.0.0"
firebaseVersion = "17.3.4"
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 19
compileSdkVersion = 28
targetSdkVersion = 27
supportLibVersion = "28.0.0"
googlePlayServicesVersion = "16.0.0"
firebaseVersion = "17.3.4"
}
...
Step 2:
cd android && ./gradlew assemble
Step 3: Open android studio and open an android emulator. Mine is on Pixel XL API 27
Step 4:
react-native run-android
thanks to @udaisubramaniam. Fixed with this
at the end of your android/app/build.gradle
(before apply plugin
line if you have that line)
configurations.all {
resolutionStrategy {
force 'com.google.android.gms:play-services-gcm:16.1.0'
}
}
that fixes two issues:
firebase
appComponentFactory androidx problem
react-native-device-info
Android dependency 'com.google.android.gms:play-services-stats' has >different version for the compile (16.0.1) and runtime (17.0.0)
Explanation: gms has upgraded to androidx so all the libs that use it as dependency had defined it as :gms+
so when google released a breaking change they all updated to it and broke everything
Solutions: 1) upgrade your project and dependencies in order to use androidx. Not all you dependencies are using it so i don't know if this is a good idea. 2) force the project to use a previous version of the gms lib. This could be a problem? may be, will see π it's building fine for now
I will wait until all the libs upgrade to androidx and then migrate the project to rn60
UPDATE: Seeing the useful resources
below, you have to upgrade your android project to sdk 28 (i have had already done that because it's a good practice). If you use android studio it will propose you to automagically upgrade to the config below
this is my ext
config in android/build.gradle
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
also i'm using
classpath 'com.android.tools.build:gradle:3.3.2'
gradle version 4.10.1
Useful resources
https://github.com/facebook/react-native/issues/25307 https://github.com/facebook/react-native/issues/25296#issuecomment-503440779 https://github.com/facebook/react-native/issues/25301 https://stackoverflow.com/questions/56648263/android-dependency-com-google-android-gmsplay-services-stats-has-different-ve
I'm having the same problem, I've tried everything and I haven't been luck.
android/build.gradle
` ext {
buildToolsVersion = "26.0.3"
minSdkVersion = 16
compileSdkVersion = 26
targetSdkVersion = 26
supportLibVersion = "26.1.0"
googlePlayServicesVersion="12.0.1"
}
`
app/build.gradle
` dependencies {
compile project(':react-native-view-overflow')
compile project(':react-native-video')
compile project(':react-native-vector-icons')
compile project(':react-native-splash-screen')
compile project(':react-native-sentry')
compile project(':react-native-push-notification')
compile project(':react-native-onesignal')
compile project(':react-native-localization')
compile project(':react-native-keep-awake')
compile project(':react-native-image-crop-picker')
compile project(':react-native-google-places')
compile project(':react-native-gesture-handler')
compile project(':react-native-geolocation-service')
compile project(':react-native-firebase')
compile project(':react-native-fcm')
compile project(':react-native-fbsdk')
compile project(':react-native-device-info')
compile project(':react-native-code-push')
compile project(':react-native-camera')
compile project(':react-native-android-location-services-dialog-box')
compile project(':react-native-admob')
implementation project(':react-native-code-push')
implementation project(':react-native-view-overflow')
implementation project(':react-native-admob')
implementation project(':react-native-sentry')
implementation project(':react-native-keep-awake')
implementation project(':react-native-firebase')
implementation 'com.facebook.android:facebook-android-sdk:4.37.0'
implementation 'com.facebook.android:facebook-marketing:4.37.0'
implementation project(':react-native-fbsdk')
implementation project(':react-native-vector-icons')
implementation project(':react-native-geolocation-service')
implementation project(':react-native-push-notification')
implementation project(':react-native-google-places')
implementation "com.google.android.gms:play-services-base:16.0.1"
implementation "com.google.firebase:firebase-core:16.0.6"
// implementation 'com.google.firebase:firebase-core'
// implementation 'com.google.firebase:firebase-messaging'
implementation 'com.android.support:multidex:1.0.3'
implementation project(':react-native-onesignal')
implementation project(':react-native-camera')
implementation project(':react-native-splash-screen')
implementation project(':react-native-video')
implementation (project(':react-native-camera')) {
exclude group: "com.google.android.gms"
implementation 'com.android.support:exifinterface:+'
implementation ('com.google.android.gms:play-services-vision:12.0.1') {
force = true
}
}
implementation project(':react-native-android-location-services-dialog-box')
implementation project(':react-native-device-info'), {
exclude group: "com.google.android.gms"
}
implementation project(':react-native-image-crop-picker')
implementation project(':react-native-localization')
implementation project(':react-native-gesture-handler')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
implementation 'com.google.android.gms:play-services-ads:17.1.1'
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin' apply plugin: 'com.google.gms.google-services'
`
I already have test all fixes in the previous posts and nothing seems to work for me.
you have to upgrade to android 28, i will update my last answer, check it my ext
android build config
Hi, i'm using cordova apache for mobile apps, but i got the same error when i compile. I'm using too firebase and google maps plugin's. I did all the posible solutions that you show here with the build.gradle And, i have not luck, please help!!!
@cesarPHP did you migrate to androidx?
mmm, no, how i do that?
I've tried all of the solutions here, but it still doesn't work. I want to identify the reason for this issue. So, please corrects me if I'm wrong.
This issue is due to some libs we are using already upgrade to AndroidX. But some libs are still not upgraded. So, its dependencies (such as gms+) have a conflict with each other.
The ways to solve this are:
After upgrading react-native-device-info to the latest version (2.1.1) and changed compile SDK from 27 to 28, I am getting below error
Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/app/INotificationSideChannel$Stub$Proxy.class
What should I do next?
same problem @t1amat9409
thanks to @udaisubramaniam. Fixed with this
at the end of your
android/app/build.gradle
(beforeapply plugin
line if you have that line)configurations.all { resolutionStrategy { force 'com.google.android.gms:play-services-gcm:16.1.0' } }
that fixes two issues:
- firebase
appComponentFactory androidx problem
- react-native-device-info
Android dependency 'com.google.android.gms:play-services-stats' has >different version for the compile (16.0.1) and runtime (17.0.0)
Explanation: gms has upgraded to androidx so all the libs that use it as dependency had defined it as
:gms+
so when google released a breaking change they all updated to it and broke everythingSolutions:
- upgrade your project and dependencies in order to use androidx. Not all you dependencies are using it so i don't know if this is a good idea.
- force the project to use a previous version of the gms lib. This could be a problem? may be, will see laughing it's building fine for now
I will wait until all the libs upgrade to androidx and then migrate the project to rn60
UPDATE: Seeing the
useful resources
below, you have to upgrade your android project to sdk 28 (i have had already done that because it's a good practice). If you use android studio it will propose you to automagically upgrade to the config belowthis is my
ext
config inandroid/build.gradle
ext { buildToolsVersion = "28.0.3" minSdkVersion = 16 compileSdkVersion = 28 targetSdkVersion = 28 supportLibVersion = "28.0.0" }
also i'm using
classpath 'com.android.tools.build:gradle:3.3.2'
gradle version 4.10.1
Useful resources
25307
25301
@bundamasakan did you try the above? if not... then you need to install jetifier
npm i jetifier && npx jetify
This will help migrate your project to android x and resolve all conflicts... you might have to jetify your project every time you npm install
@bundamasakan did you try the above? if not... then you need to install jetifier
npm i jetifier && npx jetify
This will help migrate your project to android x and resolve all conflicts... you might have to jetify your project every time you npm install
still with the same problem. is there another way @t1amat9409
π¨ The issue tracker is not for questions. π¨
As it happens, support requests that are created as issues are likely to be closed. We want to make sure you are able to find the help you seek. Please take a look at the following resources.
Coding Questions
https://stackoverflow.com/questions/tagged/react-native
If you have a coding question related to React Native, it might be better suited for Stack Overflow. It's a great place to browse through frequent questions about using React Native, as well as ask for help with specific questions.
Talk to other React Native developers
https://www.reactiflux.com/
Reactiflux is an active community of React and React Native developers. If you are looking for immediate assistance or have a general question about React Native, the #react-native channel is a good place to start.
If you want to participate in casual discussions about the use of React Native, consider participating in one of the following forums:
If you'd like to discuss topics related to the future of React Native, or would like to propose a new feature or change before sending a pull request, please check out the discussions and proposals repo: