(Realm Error) Extension not initialized yet, couldn't access compileSdkVersion - react-native

I try to build an application in my MacBook and it doesn't build with realm. Two errors occur when I wanna build on android:
1) A problem occurred configuring project ':realm'.
2) A problem occurred evaluating project ':realm'. Extension not initialized yet, couldn't access compileSdkVersion. and in iOS, it says it couldn't find the realm constructor.
I've already checked the compilesdk versions on the main gradle file and in the realm module's gradle file. they look fine.

Related

Instant app with multivariant base module

I've started to implement instant app feature in my application. I managed to transition to base module and properly build an installable app. The base module has 3 build types:
buildTypes {
release {...}
acceptance {...}
debug {...}
When I try to build instant app as a separate module that has build.gradle file:
apply plugin: 'com.android.instantapp'
dependencies {
implementation project(':base')
}
I'm getting below error message:
Cannot choose between the following variants of project :app:
- inchargeAcceptanceBundleElements
- inchargeAcceptanceRuntime
- inchargeAcceptanceUnitTestCompile
...
(much much longer I can give full stacktrace if needed)
I tried to change instantapp/build.gradle:
implementation project(path: ':base', configuration: 'default')
but then I get:
Unable to resolve dependency for ':instantapp#debug/compileClasspath': Failed to transform file 'base-release.aar' to match attributes {artifactType=processed-aar} using transform IdentityTransform
Then the app module itself has 4 product flavors but it shouldn't matter I believe.
Any advice how to run instantapp module ?

Trouble with jitpack/gradle in Intellij

I'm still getting started with gradle, but I found jitpack to allow for including dependencies across my github repos.
I'm having issues getting dependencies to resolve, though. Some releases work, but other times I get "could not resolve."
I have managed to reproduce this with a couple of github repos:
I set up a repo to be depended on: https://github.com/bdleitner/dummy-dependency
and one to depend on it: https://github.com/bdleitner/dummy-client
From jitpack, I can see the build log for the 0.1.3 release of dummy-dependency:
https://jitpack.io/com/github/bdleitner/dummy-dependency/0.1.3/build.log
where it seems that everything is successful.
when logged in to jitpack, it can see this release and provides the compile statement:
compile 'com.github.bdleitner:dummy-dependency:0.1.3'
but even when I include that in the gradle.build file for dummy-client,
I get:
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':compileClasspath'.
> Could not resolve com.github.bdleitner:dummy-dependency:0.1.3.
Required by:
com.bdl:dummy-client:1.0-SNAPSHOT
> No cached version of com.github.bdleitner:dummy-dependency:0.1.3 available for offline mode.
> No cached version of com.github.bdleitner:dummy-dependency:0.1.3 available for offline mode.
> No cached version of com.github.bdleitner:dummy-dependency:0.1.3 available for offline mode.
I figure I'm probably missing something small and dumb, but I haven't been able to find it.
Apparently, I somehow managed to switch my gradle settings to offline mode (not sure how)... but unchecking that option appears to have fixed the issue.
Sorry to bother everyone.

Could not find com.google.gms:google-services:9.0,0

The Sync failed when tried to add the dependency for google play service. The problem seem to its looking for the jar in C:/Program/Files/Android/Android Studio however my SDK is placed in C:\Android\sdk. However I also have Android Studio in Program Files where there are no jar for Google play services.
Information:Gradle tasks [clean, :app:generateDebugSources, :app:compileDebugSources]
Error:A problem occurred configuring root project 'XXXXXX'.
Could not resolve all dependencies for configuration ':classpath'.
Could not find com.google.gms:google-services:9.0.0.
Searched in the following locations:
file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/google/gms/google-services/9.0.0/google-services-9.0.0.pom
file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/google/gms/google-services/9.0.0/google-services-9.0.0.jar
https://jcenter.bintray.com/com/google/gms/google-services/9.0.0/google-services-9.0.0.pom
https://jcenter.bintray.com/com/google/gms/google-services/9.0.0/google-services-9.0.0.jar
Required by:
:XXXXX:unspecified
Information:BUILD FAILED
Information:Total time: 6.148 secs
Information:1 error
Information:0 warnings
Information:See complete output in console
Also my ANDROID_HOME is set to C:\Android\sdk.
Please advise.
By checking other SO question. You can find that Google Play Service updating to version 9.0.0 has a bug issue.
Some solution is by checking if you have enabled offline work for gradle, deselect Offline Work if it's checked. Then, confirm if you have latest version of Google services mentioned as dependencies in project level build.gradle: classpath 'com.google.gms:google-services:3.0.0'. Clean and build the project after the gradle sync completes.
Also, some people fixed it by just deleting the debug.keystore file found in the android folder.
Check this SO question for more information.

IBM Worklight - AppCenter app missing Plugin 'com.ibm.mobile.InstallerPlugin'

I'm having the same problem as this user. I've built the IBM Worklight AppCenter client application using eclipse (AppCenter -> Run As -> Build All Environments) opened it in xcode (iphone -> Run As -> Xcode project) and run the app in the iphone emulator via xcode.
After I enter my Worklight server credentials in the app (username, password, server, port, context) a "Loading" message is displayed and the app ceases functioning.
I've debugged through the app's javascript and traced the problem to the app trying to execute a call to a Cordova native plugin:
cordova.exec(pSuccessCallback, // Success callback from the plugin
function(e){
console.log("Error connecting to server [code, msg, status] = "
+ e.errorCode + ", "
+ e.errorMsg + ", "
+ e.httpCode);
pFailureCallback(e);
},
'com.ibm.mobile.InstallerPlugin', // Tell cordova to run "com.ibm.mobile.InstallerPlugin" Plugin
'updateConnection', // Tell plugin, which action we want to perform
[pUsername, pPassword, pServerURL]); // Passing list of args to the plugin
This error message is displayed in xcode: IBMAppCenter[2315:70b] ERROR: Method 'updateConnection:' not defined in Plugin 'com.ibm.mobile.InstallerPlugin'
The native libraries implementing this plugin are in their expected locations but don't appear to seen by the application - IBMAppCenter/apps/AppCenter/iphone/native/appCenterLib:
Debug-iphoneos/libAppCenterInstallerLib.a
Release-iphoneos/libAppCenterInstallerLib.a
Debug-iphonesimulator/libAppCenterInstallerLib.a
Release-iphonesimulator/libAppCenterInstallerLib.a
Are there any additional steps required to include the native libraries in the application?
Any help would be greatly appreciated.
The method "updateConnection" is defined in the InstallerPlugin. I think it is simply the first method to be called of the InstallerPlugin, hence the problem might be that you accidentally removed the installer plugin.
The directory IBMAppCenter/apps/AppCenter/iphone/native/appCenterLib must contain the different versions of libAppCenterInstallerLib.a:
Debug-iphoneos/libAppCenterInstallerLib.a
Release-iphoneos/libAppCenterInstallerLib.a
Debug-iphonesimulator/libAppCenterInstallerLib.a
Release-iphonesimulator/libAppCenterInstallerLib.a
The method updateConnection is contained in libAppCenterInstallerLib.a.
If those libs are missing, you can copy them from the original installation directory of IBM Worklight.
Please never delete the native directories of IBMAppCenter/apps/AppCenter before regenerating the iphone or Android environment. If you delete the native directories, you delete those required libraries, and then the AppCenter client is not functional.
I managed to fix this by upgrading to Worklight 6.1.
In recent versions of Cordova, the Plugin method signature has changed.
Verify this by extracting the libAppCenterInstallerlib.a with:
ar -x libAppCenterInstallerlib.a
then run:
nm IBMAppCenterPlugin.o
look for the initInfo or updateConnection methods. If they have :withDict in the method signature, then this is deprecated in recent versions of Cordova.
Using the AppCenter project from Worklight 6.1, I no longer see this issue.

Failed to load late-bound plugin: org.apache.maven.plugins:maven-resources-plugin

We have our local Maven repository which was working fine till yesterday.
Today we are getting the following error while building any project.
Failed to load late-bound plugin: org.apache.maven.plugins:maven-resources-plugin
We haven't change any settings. Any idea?
It's hard to say because you skipped the next line that prints the Reason. A typical output looks like:
[WARN] Failed to load plugin: org.apache.maven.plugins:maven-resources-plugin. Adding to late-bound plugins list.
Reason: Failed to load plugin. Reason: The plugin 'org.apache.maven.plugins:maven-resources-plugin' does not exist or no valid version could be found
It would have been interesting to join this line to find a fix for the root cause of the problem.
I resolved it.
I had to delete the plugins folder on my local repository then Maven downloaded the plugins again.
It works fine now.