NDK_PROJECT_PATH = null问题分析


原文路径: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版本号:

NDK_PROJECT_PATH = null问题分析_第1张图片
图片.png


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

NDK_PROJECT_PATH = null问题分析_第2张图片



你可能感兴趣的:(Android)