default compilation sdk eroor - react-native

I'm having some errors while building an android react-native project regarding SDK compilation.
I've tried environment variable change, node.js change, and gradle wrapper change already.
Could not get unknown property 'DEFAULT_COMPILE_SDK_VERSION' for object of type com.android.build.gradle.LibraryExtension.

Related

Error when trying to build a React Native application with EAS

I'm trying to build a React Native application using Expo and rnmapbox/maps module, which includes some custom native code.
Up until now, I could build the application without any problems, for Android at least, which is my target platform. But suddenly, it stopped working and the following error log is displayed:
* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin class 'org.gradle.api.plugins.BasePlugin'.
> Could not find method maven() for arguments [build_1quotit9ccucu377qnhf7kv5h$_run_closure1$_closure3$_closure5#4a87f9f7] on configuration ':app:archives' of type org.gradle.api.in
ternal.artifacts.configurations.DefaultConfiguration.
What is the problem and how can I possibly fix it?
The problem appears to be with Mapbox. We are experiencing the same error as you on our Android builds under eas build. We just removed the rnmapbox/maps dependency and commented out all the relevant code and our builds are passing.
I added the "image": "latest" field to eas.json configuration and it seemed to fix the problem.
Apparently, there was a bug with older versions.

Expo modules core dependency.platformns.ios must be of type object

I just updated to Expo 43.0 in a bare workflow project and followed the guide on how to update the app to also use expo-modules-core. The app runs in dev mode and can compile to both Android and iOS. However, when running react-native-start the following message is shown in the terminal:
warn Package expo-modules-core has been ignored because it contains invalid configuration. Reason: "dependency.platforms.ios" must be of type object
Then the metro server starts. I have tried searching for others with similar issues, does anyone know what may be causing this?
I followed this guide: https://docs.expo.dev/bare/installing-expo-modules/
This warning is coming from react-native-community autolinking. it looks like the api changed and they don't accept null values anymore, but this is what they still specify in their docs. the behavior you see is expected still - expo-modules-core is and should be ignored by react-native-community autolinking, because it's handled by expo autolinking. so, this won't impact your project and it's a warning caused either by an accidental regression or undocumented change in react-native-community autolinking.
https://github.com/expo/expo/issues/16085
Yes, it is coming from react-native. So for resolving this issue you have to remove the react-native.config.js file from node_modules
Follow the bellow steps:-
Go to node_modules/expo-modules-core
Delete react-native.config.js

What is the right way to import custom react native module on Xcode?

I'm building a custom RN module for iOS and Android. Following some others modules, I notice that the dependencies it's never imported to the module itself, but always imported in the main app. For example for iOS:
react-native-admob has Google Mobile Ads SDK as dependency, but the developer has to add on the app.
That said, I have my custom module only building on Xcode, because when I try to run react-native run-ios I get the error:
info In file included from /Users/.../node_modules/react-native-my-module/ios/MyModuleViewManager.m:2:
/Users/.../node_modules/react-native-my-module/ios/RNMyModule.h:8:9: fatal error: module 'PrebidMobile' not found
#import PrebidMobile;
~~~~~~~^~~~~~~~~~~~
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening myapp.xcworkspace
What could I be doing wrong, that react-native command can't find the import library from Link Binary With Libraries?

Has anyone managed to make react-native-device-info with react-native 0.58?

I am trying to get the deviceid with react-native-device-info.
I started with an empty expo project which I ejected.
I imported the library, I also linked it.
But then I get gradle errors in android studio.
Have anyone managed to make it working. Can you tell which version you use?
Error from comments:
:ERROR: In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[15.0. 1]", but isn't being resolved to that version.
Behavior exhibited by the library will be unknown.
Dependency failing: com.google.android.gms:play-services-flags:15.0.1 -> com.google.android.gms:play-services-basement#[ 15.0.1], but play-services-basement version was 16.2.0

Can't change Module SDK for libGDX project

I get "cannot resolve symbol Bundle" for a newly created libGDX project in IntelliJ. When comparing this project to one that works, I notice that in the android module, the Module SDK is set to Project SDK instead of Android API.
If I try to change this I get:
Module "android" must not contain source root "...".
The root already belongs to the module "android".
How can I can't change this and what does the message mean?
Not sure what exactly you mean by last part, as I didn't do any changes to any of the modules. Anyways I had the same problem - "cannot resolve symbol android/Bundle etc", basically android SDK wasn't included. What I did is simply opened Project Structure > SDKs > Add new Android SDK with correct version e.g. 4.4.2, then pressed ok, and afterwards opened gradle plugin and clicked "Refresh All Gradle Projects". Intellijs rebuilt gradle project and indexed everything. Then android SDK problem was resolved.
Unfortunately this step is not mentioned in the tutorial.