# Armv5 **Repository Path**: need4oxygen/armv5 ## Basic Information - **Project Name**: Armv5 - **Description**: Library 4 android 2.3 api 10 armv5 armeabi. - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-28 - **Last Updated**: 2026-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: 双进程保活 ## README Android native fork 双进程保活,mqtt客户端连接阿里云iot broker服务器,app接收微信小程序mqtt指令并解析,然后播放.wav文件(DTMF按键拨号音频文件) ,通过3.5mm耳机孔向Arduino单片机输出模拟信号,Arduino单片机A/D采样并解析相关DTMF音频信号,然后发送编码信号到433Mhz/315Mhz无线发射模块 ,控制433Mhz/315Mhz设备,如电动遥控卷帘门的开关等。 App保活效果有待验证,以下机型安装运行测试成功: 华为 C8500(armv6 cpu) android 2.3.7 中兴 ZTE U790(armv7a cpu) android 2.3.7 三星 i9500(armv7a cpu) android 5.0.1 为支持armv5/armv6 cpu armeabi接口,此版本需要使用以下低版本的开发工具集: https://developer.android.google.cn/studio/archive?hl=zh-cn Android Studio 3.2.02018 年 9 月 24 日 Android Plugin for Gradle 3.0.1 SDK Tools cmake 3.6.4111459 SDK Tools NDK 16.1.4479499 具体原因如下: https://developer.android.google.cn/studio/releases/past-releases/as-3-2-0-release-notes?hl=zh-cn#default_abis 更改了针对多 APK 的默认 ABI 在构建分别以不同 ABI 为目标的多个 APK 时,默认情况下,插件不会再针对以下 ABI 生成 APK:mips、mips64 和 armeabi。 如果您想构建以上述 ABI 为目标的 APK,必须使用 NDK r16b 或更低版本,并在 build.gradle 文件中指定这些 ABI,如下所示: splits { abi { include 'armeabi', 'mips', 'mips64' ... } } splits { abi { include("armeabi", "mips", "mips64") ... } } 注意:此行为更改也包含在 Android Studio 3.1 RC1 及更高版本中。 https://developer.android.google.cn/studio/build/configure-apk-splits?hl=zh-cn#configure-abi-split 针对 ABI 配置多个 APK 如需针对不同的 ABI 创建单独的 APK,请在 splits 代码块内添加一个 abi 代码块。在 abi 代码块中,提供所需 ABI 的列表。 以下 Gradle DSL 选项用于按 ABI 配置多个 APK: enable 如果将此元素设为 true,Gradle 会根据您定义的 ABI 生成多个 APK。默认值为 false。 exclude 以逗号分隔列表的形式指定 Gradle 不应针对哪些 ABI 生成单独的 APK。如果您要针对大多数 ABI 生成 APK,但需要排除您的应用不支持的一些 ABI,请使用 exclude。 reset() 清空默认的 ABI 列表。只与 include 元素结合使用,以指定您想要添加的 ABI。以下代码段将 ABI 列表设为仅包含 x86 和 x86_64,方法是先调用 reset() 以清空该列表,然后再使用 include: reset() // Clears the default list from all ABIs to no ABIs. include "x86", "x86_64" // Specifies the two ABIs we want to generate APKs for. include 以逗号分隔列表的形式指定 Gradle 应针对哪些 ABI 生成 APK。只与 reset() 结合使用,以指定确切的 ABI 列表。 universalApk 如果设为 true,那么除了按 ABI 生成的 APK 之外,Gradle 还会生成一个通用 APK。通用 APK 将适用于所有 ABI 的代码和资源包含在一个 APK 中。 默认值为 false。请注意,此选项仅在 splits.abi 代码块中可用。根据屏幕密度构建多个 APK 时,Gradle 始终会生成一个包含适用于所有屏幕密度的代码和资源的通用 APK。 以下示例针对每个 ABI(即 x86 和 x86_64)生成了单独的 APK,方法是先使用 reset() 清空 ABI 列表,然后再使用 include 添加一些 ABI(它们将各自获得一个 APK)。 Groovy Kotlin android { ... splits { // Configures multiple APKs based on ABI. abi { // Enables building multiple APKs per ABI. enable true // By default all ABIs are included, so use reset() and include to specify that we only // want APKs for x86 and x86_64. // Resets the list of ABIs that Gradle should create APKs for to none. reset() // Specifies a list of ABIs that Gradle should create APKs for. include "x86", "x86_64" // Specifies that we do not want to also generate a universal APK that includes all ABIs. universalApk false } } } 如需查看支持的 ABI 的列表,请参阅支持的 ABI。 https://developer.android.google.cn/studio/build/configure-apk-splits?hl=zh-cn#mips_mips64_and_armeabi mips、mips64 和 armeabi 默认情况下,Android Plugin for Gradle 3.1.0 及更高版本不再针对以下 ABI 生成 APK:mips、mips64 和 armeabi。这是因为,NDK r17 及更高版本不再将这些 ABI 作为支持的目标。 建议您先在 Google Play 管理中心查看,验证是否有用户下载以这些 ABI 为目标的应用 APK。如果没有,您可以考虑在 build 中省略此类 APK。如果您要继续构建以这些 ABI 为目标的 APK,就必须使用 NDK r16b 或更低版本,设置活动 build 变体和 ABI,并在 build.gradle 文件中指定相应 ABI,如下所示: Groovy Kotlin splits { abi { include 'armeabi', 'mips', 'mips64' ... } } 已知问题:如果您将 Android Plugin for Gradle 3.0.1 或更低版本与 NDK r17 或更高版本一起使用,可能会收到以下错误:Error:ABIs [mips64, armeabi, mips] are not supported for platform.。这是因为,当您按 ABI 构建 APK 时,旧版插件在默认情况下仍包含不受支持的 ABI。如需解决此问题,请更新到最新版本的插件,或者在应用的 build.gradle 文件中重置插件的默认 ABI 列表,使其仅包含您需要的受支持的 ABI,具体代码如下所示: Groovy Kotlin ... splits { abi { ... reset() include "x86", "armeabi-v7a", "arm64-v8a", "x86_64" } }