NDK_PROJECT_PATH = null问题分析

本文介绍了一种常见的Android NDK编译错误及其解决方法。作者在更新NDK版本后遇到了编译失败的问题,通过调整APP_PLATFORM设置,将compileSdkVersion和targetSdkVersion从25改为24,最终成功解决了编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


原文路径:http://www.jianshu.com/p/b4753ab1f8e7

 

Error:(115) *** Android NDK: Aborting    .  Stop.

Error:Execution failed for task ':app:compileTszappDebugNdk'.
> com.android.ide.common.process.ProcessException: 
Error while executing process D:\Android\android-sdk-windows\ndk-bundle\ndk-build.cmd with arguments 
{NDK_PROJECT_PATH=null 
APP_BUILD_SCRIPT=E:\workplace\phyt\app\build\intermediates\ndk\tszapp\debug\Android.mk 
APP_PLATFORM=android-25 
NDK_OUT=E:\workplace\phyt\app\build\intermediates\ndk\tszapp\debug\obj 
NDK_LIBS_OUT=E:\workplace\phyt\app\build\intermediates\ndk\tszapp\debug\lib 
APP_ABI=armeabi-v7a,armeabi,x86}

之前在运行我的project时并没有出现这个问题,之后突然就在昨天下午运行编译时爆出此类编译错误,让我顿时摸不着头脑。但是经验告诉我遇到Error不要慌,慢慢来。

我先仔细阅读它的报错信息,是由NDK_PROJECT_PATH=null引起的ndk编译错误, 我先点击Error:(115) * Android NDK: Aborting . Stop.这一行,as自动切换到setup-app-platform.mk文件,定位到它的115行

# We pull low values up, fill in gaps, replace platform code names, replace
# "latest", and error out on high values. Anything left is either a gap or
# codename we missed, or user error.
ifneq (,$(strip $(filter-out $(NDK_ALL_PLATFORMS),$(APP_PLATFORM))))
    $(call __ndk_info,APP_PLATFORM set to unknown platform: $(APP_PLATFORM).)
    $(call __ndk_error,Aborting)
endif

这个程序主要过滤NDK_ALL_PLATFORMS与APP_PLATFORM,如果不符合,那么此APP_PLATFORM被设置为位置平台。我先查看我的NDK版本号:


图片.png


查看得知是ndkR25,其实为何突然引起此类Error就是因为昨天我更新升级了NDK导致的。基于此我将我的app module的compileSdkVersion与targetSdkVersion由之前的25改成24,然后编译通过,终于在build目录下生成了so文件,如下图:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值