全网首发:编译Android doubango时,armv7-a编译不出来的解决办法

简介: 全网首发:编译Android doubango时,armv7-a编译不出来的解决办法

今天编译Android doubango,arm64顺利编译出来了,可是armv7-a/armv7-a-neon死活不出来。难道是NDK问题?吾换了多个NDK,依然不行。看来不是这个问题。


 仔细观察输出信息:


Toolchain installed to /home/quantum6/nanjing/doubango/my-android-toolchain-android-armv7-a.
checking for arm-linux-androideabi-gcc... /home/quantum6/nanjing/doubango/my-android-toolchain-android-armv7-a/bin/arm-linux-androideabi-gcc
checking whether the C compiler works... no

 一查,目录下只有my-android-toolchain-android-arm64,没有armv7-a。说明了什么?说明哪里出错了,没有找到交叉编译链。问题出在哪里?应该是出在NDK版本上,新版本实际上不支持此类编译了。怎么解决呢?吾检查configure,发现以下内容:


arm64)
    export ANDROID_PREFIX=aarch64-linux-android
    export SYSROOT=$NDK/platforms/android-21/arch-arm64
    export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-arm64
        $NDK/build/tools/make-standalone-toolchain.sh --arch=arm64 --platform=android-21 --install-dir=$ANDROID_TOOLCHAIN
    export CFLAGS='-DANDROID=1 -D__ARMEL__'
    TARGET_ARCH="arm"
  ;;
  armv7-a)
    export ANDROID_PREFIX=arm-linux-androideabi
    export SYSROOT=$NDK/platforms/android-3/arch-arm
    export ANDROID_TOOLCHAIN=$(pwd)/my-android-toolchain-android-armv7-a
        $NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --arch=arm --install-dir=$ANDROID_TOOLCHAIN
        export CFLAGS='-march=armv7-a -mfloat-abi=softfp -DANDROID=1 -D__ARMEL__'
        export LDFLAGS='-Wl,--fix-cortex-a8'
    TARGET_ARCH="arm"

 大哥什么时代了,还android-3?configure是autogen.sh产生的。这个咱就有解决办法了:


打开configure.ac,把android-3修改为android-19。再次运行.autogen.sh进行编译即可。


 吾已将此修改上传到开源库。


https://github.com/quantum6/doubango-quantum6

目录
相关文章
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
32 0
|
3月前
|
Java Shell Linux
Android——编译(二):android.mk的相关知识
Android——编译(二):android.mk的相关知识
95 0
|
3月前
|
Shell Android开发
RK android13编译环境搭建与常用编译命令
RK android13编译环境搭建与常用编译命令
74 0
|
2月前
|
编译器 开发工具 Android开发
|
3月前
|
开发工具 Android开发
QGroundControl Qt安卓环境搭建及编译出现的问题
QGroundControl Qt安卓环境搭建及编译出现的问题
61 0
|
3月前
|
Java Go Android开发
Android——编译(三):android.bp的相关知识
Android——编译(三):android.bp的相关知识
158 0
|
4天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
27天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
14 0
|
1天前
|
数据库 Android开发 开发者
安卓应用开发:构建高效用户界面的策略
【4月更文挑战第24天】 在竞争激烈的移动应用市场中,一个流畅且响应迅速的用户界面(UI)是吸引和保留用户的关键。针对安卓平台,开发者面临着多样化的设备和系统版本,这增加了构建高效UI的复杂性。本文将深入分析安卓平台上构建高效用户界面的最佳实践,包括布局优化、资源管理和绘制性能的考量,旨在为开发者提供实用的技术指南,帮助他们创建更流畅的用户体验。
|
18天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。