Ejemplo n.º 1
0
        public static string GetNdkPlatformLibPath(string androidNdkPath, AndroidTargetArch arch, int apiLevel)
        {
            if (!UsingClangNDK)
            {
                return(NdkUtilOld.GetNdkPlatformLibPath(androidNdkPath, arch, apiLevel));
            }

            var    checkedPaths = new List <string> ();
            string lib          = arch == AndroidTargetArch.X86_64 ? "lib64" : "lib";
            string path         = Path.Combine(androidNdkPath, "platforms", $"android-{apiLevel}", $"arch-{GetPlatformArch (arch)}", "usr", lib);

            if (!Directory.Exists(path))
            {
                checkedPaths.Add(path);
                path = Path.Combine(GetNdk22OrNewerSysrootDir(androidNdkPath), GetArchDirName(arch), apiLevel.ToString());
            }

            if (!Directory.Exists(path))
            {
                checkedPaths.Add(path);
                string paths = String.Join("; ", checkedPaths);
                throw new InvalidOperationException($"Platform library directory for target {arch} and API Level {apiLevel} was not found. Checked paths: {paths}");
            }
            return(path);
        }
Ejemplo n.º 2
0
        public static string GetNdkPlatformLibPath(string androidNdkPath, AndroidTargetArch arch, int apiLevel)
        {
            if (!UsingClangNDK)
            {
                return(NdkUtilOld.GetNdkPlatformLibPath(androidNdkPath, arch, apiLevel));
            }

            string lib  = arch == AndroidTargetArch.X86_64 ? "lib64" : "lib";
            string path = Path.Combine(androidNdkPath, "platforms", $"android-{apiLevel}", $"arch-{GetPlatformArch (arch)}", "usr", lib);

            if (!Directory.Exists(path))
            {
                throw new InvalidOperationException($"Platform library directory for target {arch} and API Level {apiLevel} was not found. Expected path is \"{path}\"");
            }
            return(path);
        }