Java.Interop missing after upgrading to VS for Mac 8.5 - xamarin.forms

BACKGROUND INFO: Project is using Xamarin.Forms 3.5 (due to inherited technical debt upgrading to 4.0+ breaks the app and client doesn't want to spend time to rewrite app right now).
PROBLEM: Upgraded VS for Mac to version 8.5 and now Droid project will not build. Get an error saying Java.Interop assembly is missing. Sure enough when I check under references Java.Interop is missing. Does not seem to be available anywhere in Add References dialog.
EDIT: I was able to browse to the Java.Interop file using the following path but app still fails to compile after adding reference to file. Filepath = ‎⁨Macintosh HD⁩ ▸ ⁨Library⁩ ▸ ⁨Frameworks⁩ ▸ ⁨Xamarin.Android.framework⁩ ▸ ⁨Versions⁩ ▸ ⁨9.0.0-20⁩ ▸ ⁨lib⁩ ▸ ⁨xamarin.android⁩ ▸ ⁨xbuild-frameworks⁩ ▸ ⁨MonoAndroid⁩ ▸ ⁨v1.0⁩

As I was continuing to research the deployment error I came across this github issue where Brendan mentions changing AndroidDexTool to d8 (accepted answer on Xamarin forums uses dx). So on a whim I changed it back to d8, hit run and voila - it built and deployed with no errors. Go figure. Thanks for all your help!

Related

Unable to strip library *.so due to missing strip tool for ABI 'X86_64'. Packaging it as is

Today I noticed that I get warnings while building a QT app for Android:
Unable to strip library *.so due to missing strip tool for ABI 'X86_64'. Packaging it as is.
What tool is missing? Does it try to strip debug info or something else?
I have NDK (Side by side) installed:
the app is built with NDK 22.1.7171670.
I also have command line tools and CMake installed:
EDIT1
With ARM builds I got the same warnings, also I noticed that there are warnings like
> Task :extractReleaseNativeSymbolTables
Unable to extract native debug metadata from E:\repos\examples\src\MyApp\build\intermediates\merged_native_libs\release\out\lib\x86_64\libc++_shared.so
because unable to locate the objcopy executable for the x86_64 ABI.
so I have an impression that Gradle cannot locate strip.exe and objcopy.exe tools for some reason.
Another question is does Google app store strip debug information automatically?
It was a wrong Gradle configuration. I updated Android Temple with QT Creator and stripReleaseDebugSymbols started to work.

qmake.exe not found Installing QtWebEngine with proprietary codecs

I am trying to build qtwebengine with proprietary codecs. I am following the answer on this stack overflow questions: Build QtWebEngine 5.9.1 with proprietary codecs. I have installed all the specified programs and began trying to build it. I made it to the git checkout 5.9.6 line before I had my first error. I fixed this by changing it to git checkout 5.9.8 and it seemed to work, so I then continued, however now it has given me another error that qmake.exe isn't recognized. I have looked everywhere in the qt folder and can't find any sign of the file. What have I done wrong to mean this has happened, could it be me changing the line to git checkout 5.9.8 or I haven't installed something correctly?

Why does my Xcode 11.2.1 (11B500) "Watch App" template fail?

To familiarize myself with the process, before getting real, I tried to build a Watch-only app from the Xcode 11.2.1 template. The build fails when it attempts to copy an item into a file, instead of into a directory. I can hardly believe this isn't something corrupt in my Xcode environment, but it is happening on different Macs.
I created a new project with the "Watch App" template at ~/Development/Watch and ran xcodebuild from that directory. There is quite a lot of successful work done, but the last command (failing) in the build log is (with ... representing ~/Development/):
PBXCp .../Watch/build/Release-watchos/Watch\ WatchKit\ App.app \
.../Watch/build/Release-iphoneos/Watch.app/Watch/Watch\ WatchKit\ App.app
because
error: make directory
.../Watch/build/Release-iphoneos/Watch.app/Watch/Watch WatchKit App.app:
Not a directory
It's failing because .../Watch/build/Release-iphoneos/Watch.app/Watch is not a directory (nor should it be). Is this an Xcode bug (I've seen no reference to it from Apple or in Google searchs), or some stupidity on my part?
This is addressed in the GM Seed of Xcode 11.2.1. If you are writing a Mac Catalyst app, please also see the release notes for Xcode 11.2.1.
For any other issues you encounter while using Xcode, please file bug reports.
Found it!! A sneaky one too ..
It fails if you name the project "Watch" .. name it something else, it's OK.

Cannot mix incompatible Qt library (version 0x50501) with this library (version 0x50201)

I have installed Shadowsocks-Qt5 within the code sudo apt-get install shadowsocks-qt5 in terminal, and then I can find the launch icon by searching, but it won't open when I click the icon. Then I tried to use terminal to open it, but the error comes out as below:
~ ss-qt5
Cannot mix incompatible Qt library (version 0x50501) with this library (version 0x50201)
[1] 8875 abort (core dumped) ss-qt5
I searched many answers but no one work. I think the key may be the default Qt library, but I don't know how to set default Qt library, the system on my computer is Ubuntu 14.04 LTS.
How to solve this problem?
I just had this error when attempting to run Qt Creator after doing a system update. For me, I was attempting to run Qt Creator 4.10.0-rc1 (based on Qt 5.13.1) that I had manually installed to ~/Qt along with Qt 5.13.0, and my system has Qt 5.12.2 installed.
I was getting the following error:
Cannot mix incompatible Qt library (version 0x50c02) with this library (version 0x50d00)
Doing an strace when running qtcreator.sh revealed that it was attempting to load plugins from the system directory. I finally discovered the culprit was the environment variable QT_PLUGIN_PATH was set (in my case to /usr/lib64/qt5/plugins:/usr/lib64/qt5/plugins/kcms).
After unsetting this variable, Qt Creator started up and worked.
After so many months of trying to fix this issue, this helped me.
sudo apt install qt5-style-plugins.
I was facing a similar issue, and even after 4 hours of debugging, I got nowhere. Finally, I found the following way to keep separate Qt versions, posting here so that other people find it.
Suppose you installed Qt in ${QtRoot}, extend the PATH and LD_LIBRARY_PATH:
export PATH=${QtRoot}/bin:${PATH}
export LD_LIBRARY_PATH=${QtRoot}/lib:${LD_LIBRARY_PATH}
You can make a wrapper function / script to manage separate Qt installations like this:
QtVersion=5.12.8
QtRoot="/scratch/Qt/${QtVersion}/gcc_64"
export PATH=${QtRoot}/bin:${PATH}
export LD_LIBRARY_PATH=${QtRoot}/lib:${LD_LIBRARY_PATH}
After running this your application will likely run fine.

Launching Springsource tool giving some error

Fow the last few days I used to work on STS. But today it is not launching and giving following window. So, I reinstalled STS. But the problem still exits. Can some one help in sorting it out?
I found the solution after few hours. Some guy had same problem and solved
here:
Eclipse is trying to get the version of java that is installed on system. you might have installed that latest one but there are possibilities that any upgradation of later softwares has replaced the java.exe files in system32 folder with older version. All you need to do is to run eclipse with clean parameters. Create a batch file in the directory where eclipse.exe is and write this line in it eclipse -clean -vmargs -Xmx256m

Resources