首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在NDK r17+中支持带有MIPS arch的设备?

在NDK r17+中支持带有MIPS架构的设备,可以按照以下步骤进行:

  1. 首先,确保你的NDK版本是r17或更高版本,因为在r17之前的版本中,Google已经不再支持MIPS架构。
  2. 在你的Android项目的build.gradle文件中,添加以下配置:
代码语言:txt
复制
android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips'
        }
    }
}

这样配置后,NDK将会为这些指定的架构生成对应的.so库。

  1. 确保你的NDK中包含了MIPS架构的工具链。在NDK r17+中,默认情况下不再包含MIPS工具链,因此你需要手动下载并添加。
    • 在NDK r17+中,Google提供了一个独立的MIPS工具链,你可以从以下链接下载:MIPS NDK Toolchain
    • 下载后,解压缩该工具链,并将其路径添加到系统环境变量中,或者在你的项目的local.properties文件中添加以下配置:
    • 下载后,解压缩该工具链,并将其路径添加到系统环境变量中,或者在你的项目的local.properties文件中添加以下配置:
  • 确保你的NDK中包含了MIPS架构的预编译库。在NDK r17+中,默认情况下不再包含MIPS预编译库,因此你需要手动下载并添加。
    • 你可以从MIPS NDK Toolchain的下载页面中找到MIPS预编译库的链接,下载并解压缩。
    • 解压缩后,将库文件(.a或.so文件)复制到你的项目的jniLibs/mips目录下。
  • 构建你的项目。在构建过程中,NDK将会根据你在步骤2中配置的abiFilters生成对应的.so库,包括MIPS架构的库。

这样,你的项目就可以在支持MIPS架构的设备上运行了。

注意:由于MIPS架构在当前的移动设备中已经不常见,且Google已经不再推荐使用MIPS架构,因此在实际开发中,建议尽量避免使用MIPS架构,以提高应用的兼容性和性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

android设备上如何运行C语言原生程序

前言 咱们知道android设备可以直接运行apk应用,或者使用dalvikvm指令运行dex文件程序, 但是这两者本质上使用语言都是java或者smali, 如果需要执行C语言程序,需要借助NDK...编译成so库, 有没有不使用NDK而直接编译c原生程序然后在安卓设备运行方式呢?...目标设备环境不允许,比如单片机, 内存和性能无法支持程序编译 交叉编译工具 交叉编译工具链命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch – 体系架构,...ARM,MIPS vendor – 工具链提供商 os – 目标操作系统 eabi – 嵌入式应用二进制接口(Embedded Application Binary Interface) 根据对操作系统支持与否...,ARM GCC可分为支持和不支持操作系统, arm-none-eabi:这个是没有操作系统,适用于ARM架构裸机,工具链提供商未知,嵌入式应用二进制接口,这个工具不支持那些跟操作系统关系密切函数

5.3K20
  • xmake从入门到精通5:Android平台编译详解

    r16版本,因为这个是最后一个支持armeabi版本,如果没什么特别需求,可以直接下载最新版。...通常,如果没特殊需求,上面的配置就可以完成android native程序编译,目前xmake内置支持:binary, static, shared这三种基础target类型文件生成,分别对应可执行程序...这个时候,我们可以通过尝试手动修改api版本来解决: $ xmake f -p android --ndk=xxx --ndk_sdkver=16 arch编译切换 目前xmake提供 armv7-...a, arm64-v8a, armv5te, mips, mips64, i386,x86_64这些架构配置编译,如果没有指定arch,那么默认会使用armv7架构。...$ xmake f -p android --ndk=xxxx --ndk_cxxstl=gnustl_shared --ndk_sdkver=16 编译生成可执行程序在设备上运行不起来?

    1.2K10

    android Ndk JNI 入门

    怎么配置android studio NDK环境?此时你一定很懵逼,我也是从这过来,我不能帮助你开发Ndk,但是我可以让你不懵逼。 有需要可以去百度,这里讲一下android studio。...你应该为每个ABI目录提供对应.so文件。当一个应用安装在设备上,只有该设备支持CPU架构对应.so文件会被安装。...在x86设备上,libs/x86目录如果存在.so文件 话,会被安装,如果不存在,则会选择armeabi-v7a.so文件,如果也不存在,则选择armeabi目录.so文件(因为x86设备也支...宣布Android Studio开始支持NDK开发,通过和JetBrains合作,将Clion整合进了Android Studio 1.3,并免费支持NDC++开发。...同年7月,在Android Studio 1.3版本上添加了 gradle-experimental插件,该插件支持NDK开发和调试,且带有代码不全和重构等高级功能。

    1.2K21

    安卓so库你应该注意

    armeabi-v7a(32位ARM设备),arm64-v8a(64位ARM设备) 所谓ARMv8架构,就是在MIPS64架构上增加了ARMv7架构已经拥有的TrustZone技术、虚拟化技术及NEON...有了ARMv8支撑,以后64位手机操作系统,Android L 64bit都可以简单、高效地支持现有的32位App,你不用担心兼容性问题。...平台版本编译.so文件运行在android-15设备上 使用NDK时,你可能会倾向于使用最新编译平台,但事实上这是错误,因为NDK平台不是后向兼容,而是前向兼容。...解决方案:重新编译我们.so文件使其支持缺失ABIs,或者设置 ndk.abiFilters 显示指定支持ABIs。...目录;在大于等于Android 5.0系统,.so文件位于appnativeLibraryRootDir/CPU_ARCH目录

    1.2K20

    LinuxMac 交叉编译 Android 程序

    我们知道,在Linux系统编译工具链包括以下一些工具, 编译器gcc, 链接器ld, 归档工具ar等等,如果在 Linux 环境交叉编译 Android 系统环境可运行代码,是不能直接使用Linux...它由五部分组成,下面分别解释一下每部分含义: arch,指的是CPU架构, 一般包括如下几种架构: arm, mips, powerpc, x86, x86_64。...system, 指的是那个系统, androideabi, android toolname: 指的是 gcc, ld, ar等。...交叉编译常用变量说明 在做交叉编译时,我们常会在脚本定义一些环境变量以方便我们命名用,常用环境变量如下: PREFIX: 指明交叉编译后输出目录。...PLATFROM: 指明交叉编译时使用是哪个版本头文件和库文件。它是 SYSROOT一部分。 ANDROID_NDK: 指明 Android NDK 所在目录。

    2.2K20

    Android Ndk and Opencv Development 2

    Dev Guide,用浏览器打开可以看到里面介绍了NDK开发很多配置问题,不同版本NDK差别还是蛮大,而且NDK开发问题会很多,不像SDK开发那么简单,所以,一旦出现了问题,运气好能够Google...需要注意是,NDK支持Android 1.5版本以上设备。...关于不同CPU架构介绍在CPU Arch ABIs中介绍了,我不是很懂,此文不细讲。...如果想要查看某个android设备是什么CPU架构,可以上网查设备资料,或者通过执行adb shell getprop ro.product.cpu.abi得到,下面这段摘自OpenCV for Android...对应API level头文件都放在了$NDK/platforms/android-/arch-arm/usr/include目录下,这正是上一节中导入项目中在C/C++ General

    79320

    Android NDK开发扫盲及最新CMake编译使用

    官方文档分别从以下几个方面介绍了 NDK NDK 基础概念 如何编译 NDK 项目 ABI 是什么以及不同 CPU 指令集支持哪些 ABI 如何使用您自己及其他预建库 本节将会对文档进行总结和补充。...ndk-build 文件是 Android NDK r4 引入一个 shell 脚本。其用途是调用正确 NDK 构建脚本。其实最终还是会去调用 NDK 自己编译工具。...在Android Studio 2.2 之后,工具增加了 CMake 支持,你可以这么认为,在 Android Studio 2.2 之后你有2种选择来编译你写 c/c++ 代码。...X86设备兼容X86、armeabi; X86_64设备兼容X86_64、X86、armeabi; mips64设备兼容mips64、mipsmips只兼容mips; 具体兼容问题可以参见这篇文章...[Google Samples] 当你发现示例里一些NDK配置满足不了你需求后,你就需要到 CMake 官方文档 去查询完整支持函数,同时这里也提供一个中文翻译简易CMake手册。

    2.3K30

    Android 增加JNI

    ,并自动将so和应用一起打包成 APK 即可通过NDK在 Android 使用 JNI与本地代码(C、C++)交互 应用场景:在Android场景下 使用JNI 即 Android开发功能需要本地代码...在Gradle gradle.properties添加配置 android.useDeprecatedNdk=true // 对旧版本NDK支持 c....在Gradlebuild.gradle添加ndk节点 至此,将Andorid Studio项目 与 NDK 关联完毕 下面,将真正开始讲解如何在项目中使用NDK 步骤3:创建本地代码文件 即需要在...CPU平台.so文件 // 常见平台有armeabi x86 mips,其中移动设备主要是armeabi平台 // 默认情况下,Android平台会生成所有平台.so文件,即同APP_ABI :=...armeabi x86 mips // 指定CPU平台类型后,就只会生成该平台.so文件,即上述语句只会生成armeabi平台.so文件 最后,将上述文件同样放在src/main/jni文件夹

    1.5K40

    1024 程序员节日 腾讯新发QQ·Linux版

    更新日志: Linux QQ全新回归 支持x64、ARM64、MIPS64三种架构 优化消息体验,完善消息收发能力 性能优化 选择安装包: Linux QQ 目前支持x64(x86_64、amd64)、...arm64(aarch64)、mips64(mips64el)三种架构,每种架构支持Debian系、红帽系、Arch Linux系、其它发行版一种或几种(未来可能继续扩充)。...(mips64el) 2)根据你所使用linux发行版选择格式: 后缀名 安装包管理器 支持发行版 .rpm rpm/yum 红帽系(redhat、fedora、centos) .deb dpkg/...apt debian系(debian、ubuntu、银河麒麟) .pkg.tar.xz pacman arch系(Arch Linux、manjaro) .sh bash 任意支持bash发行版...3)以下是一些我们测试过设备系统搭配与对应安装包选择可供参考: 设备系统 可选择安装包 intel/amd PC, Ubuntu 18.04 _amd64.deb、_x86_64.sh intel

    79410

    何在Android Studio下进行NDK开发

    Intel和AMDCPU 。 MIPS架构:多用在网关、猫、机顶盒等设备。 若想在使用了基于x86架构CPU操作系统上编译出可以在基于arm结构CPU操作系统上运行代码,就必须使用交叉编译。...下载完成后解压到任意目录即可(路径不要带有中文字符)。我就直接放在D盘ndk目录下: ? 2.在AS为你项目配置NDK。...7.经过上面的5步,关于如何在AS中进行简单NDK所需要步骤差不多就讲完了。不过还有最后一点需要注意。...Please switch to a supported build system.”大体意思就是最新AS已经不支持useDeprecatedNdk这个标记了,并且在后续版本AS,它将被移除。...到此这篇关于如何在Android Studio下进行NDK开发文章就介绍到这了,更多相关Android Studio下NDK开发内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持

    1.3K30

    Android.so文件你需要知道那些知识

    .so文件前世今生 早期Android系统几乎只支持ARMv5CPU架构,而现在它可以支持7种,几乎涵盖了市面上大部分CPU架构。...Android系统目前支持CPU架构主要包含以下7种:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从...在Android调用动态库文件(*.so)都是通过jni方式。...比较常见百度地图等sdk一般都会提供好几套架构库。 ? Android平台生成.so文件 说了这么多,那么如何在Android平台上生成.so文件呢?...每个支持CPU架构都需要一套对应.so文件 这个就好比32位软件没办法运行在64位CPU上,必须为每一个CPU架构提供一套.so文件。 参考:Android.so文件Hook

    1.4K50

    Android:JNI 与 NDK到底是什么?(含实例教学)

    JNI头文件(.h文件) 使用 Java需要交互本地代码 实现在 Java声明Native方法 Java 需要与 C++ 交互,那么就用C++实现 JavaNative方法 编译....+动态库,并自动将so和应用一起打包成 APK 即可通过 NDK在 Android 使用 JNI与本地代码(C、C++)交互 应用场景:在Android场景下 使用JNI 即 Android...在Gradle gradle.properties添加配置 android.useDeprecatedNdk=true // 对旧版本NDK支持 ? c....至此,将Andorid Studio项目 与 NDK 关联完毕 下面,将真正开始讲解如何在项目中使用NDK ---- 步骤3:创建本地代码文件 即需要在Android项目中调用本地代码文件...字段:指定需要基于哪些CPU平台.so文件 // 常见平台有armeabi x86 mips,其中移动设备主要是armeabi平台 // 默认情况下,Android平台会生成所有平台.so文件,即同

    3.3K21
    领券