Is there a legacy toolchain for Android NDK r9c? - android-ndk

Trying to use VS-Android with the latest NDK but it doesn't include the old toolchain.
The site says With NDK revision 9 and higher, the release packages have been split to reduce download size. The first download for each platform contains the default NDK toolchain. The second download contains legacy NDK toolchains for that platform
But there is only one package for every platform. I can't find a way to get older versions either.

android-ndk-r9b-windows-x86-legacy-toolchains.zip

Related

which cmake will Android plugin use?

With Android Studio 3.3 I use native (C++) library, which I built with CMake. The Android plugin (v. 3.2.1) will choose the 'builtin' or 'external' cmake, depending on the configuration of externalNativeBuild, as documented at developer.android.com.
I want to add an extra custom task (install) that should use the same cmake version as the Android Plugin. But even with the 'builtin' cmake, it's not clear what the path is. I can find android.sdkDirectory, but even there I have today sdk\cmake\3.6.4111459 and sdk\cmake\3.10.2.4988404, and for some strange reason, some of my projects choose 3.6, while others use 3.10. This contradicts the official the release notes for Android Studio that "Gradle still uses version 3.6.0 by default", but well…
How can I decide which to use, without reimplementing the Android Plugin's obscure logic?
One workaround that may help, parse the first line of the generated file .externalNativeBuild/cmake/debug/armeabi-v7a/cmake_build_command.txt:
Executable : C:\local\Android\sdk\cmake\3.10.2.4988404\bin\cmake.exe
This still needs some adjustments, because the later versions of build tools will use .cxx instead of .externalNativeBuild; the build variant names may be different too.
Android Studio will pick up the latest CMake version under sdk\cmake, but you can configure your particular version from
externalNativeBuild {
cmake {
...
version "cmake-version"
}
}
And specify our custom CMake director as below inside local.properties
cmake.dir="path-to-cmake"
Or, you can choose NOT to upgrade your CMake from SDK Manager (just to delete the sdk\cmake\<version to delete> folder will be fine) so that you can stick to the CMake version your project is comfortable with.

Can Android Studio use the system CMake?

I'm using Android Studio + CMake to build a native library. AS requested installing CMake, even though I already have CMake installed and in my path. Can you tell AS to look for CMake at a certain location, instead of installing another CMake?
The new Android plugin for gradle 3.0 will support using system CMake, for CMake 3.7+.
From that webpage:
Download and install CMake 3.7 or higher from the official CMake website.
Include the path to the CMake installation in your project's local.properties file:
cmake.dir="path-to-cmake"

Build Glibc for android ndk in eclipse

I have a C program (which uses glibc) that I wish to run on android. I installed android ndk and have setup the basic things. How should I link glibc library to my android project in eclipse?
Thanks
How should I link glibc library to my android project in eclipse?
Android doesn't use GLIBC (it uses Bionic instead).
So your first step would be "port GLIBC to work on Android". Your question suggests that you may not be up to that task, and a better approach may be to make your program compatible with Bionic (i.e. to not use any glibc-specific extensions) instead.

Xamarin ios unified version is not allowed to install Mvvmcross

I have updated xamarin ios from classic api to unified api.
When i trying to add Mvvmcross nuget package it shows following error
Could not install package 'MvvmCross.PortableSupport 3.2.2'. You are trying to install
this package into a project that targets 'Xamarin.iOS,Version=v1.0', but the package does
not contain any assembly references or content files that are compatible with that
framework. For more information, contact the package author.
Please help.
The MvvmCross.PortableSupport 3.2.2 NuGet package contains an empty Portable Class Library folder and can be installed into a Xamarin.iOS project if you have the Portable Class Libraries installed for Xamarin and if you have the latest version of NuGet installed.
So you may not have the PCLs installed for Xamarin or, if you are using Visual Studio, then your NuGet version may be too old and need to be updated.
To get the Portable Class Libraries:
If you are on the Mac you should install the Mono Development Kit (MDK).
If you are on Windows then things are can be more complicated. The simplest way is to install Visual Studio 2013 (full or Express) Update 2 or higher. The more complicated way is to install the Portable Library Tools and the Portable Library Reference Assemblies 4.6. The Portable Library Reference assemblies installs a PortableReferenceAssemblies.zip file which contains three directories (4.0, 4.5 and 4.6). These three directories need to be extracted and copied into the PCLs directory:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable
Finally on Windows you would then need to reinstall Xamarin. The easiest way to do this is to find Xamarin in the Control panel's Programs and Features and select the option to Repair it.

Apportable is not updated to the latest version

I am using the free version of the apportable, after updating the apporatable it is showing the current version is "Apportable SDK version release_1.0.34 (1e06..... full)" although on
their website it is showing the latest version is 1.1.08.1, how to get the latest SDK?
Last update output in terminal:
$ apportable --version
Apportable SDK version release_1.0.34 (1e06ded3379bd59161534f679b9bcc3e385b1d95 full)
clang version 7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e
gdb version b5f29d65da6903ad0570d0c4a887c513367d2778
android sdk version r21.0.1.1
android ndk version r8d.1
ninja version 315d897710c6ca6e7df7d3b0bf68879356841c5d
In Terminal, enter:
apportable update
and
apportable update_toolchain
This will check for updates and update apportable itself, as well as updating the Android toolchain / SDK stuff. Usually just updating apportable suffices.
If Apportable won't update you can "reset" it by deleting the folder ~/User/.apportable. In Terminal:
rm -rf ~/User/.apportable
Then go to the apportable website, download apportable and follow their instructions for first-time setup.
Note that there is a chance that the Starter version may simply lag some version numbers behind the paid versions. I'm not aware of Apportable's versioning strategy but many companies only provide major or critical updates to free editions of their product, they prefer the free version to be stable rather than the latest edition.
You also need to ensure that you have the latest SDK version selected on your Account page in the SDK Version section.
I was experiencing the same problem; for some reason an SDK several versions behind was selected on this page.

Resources