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版本号:
查看得知是ndkR25,其实为何突然引起此类Error就是因为昨天我更新升级了NDK导致的。基于此我将我的app module的compileSdkVersion与targetSdkVersion由之前的25改成24,然后编译通过,终于在build目录下生成了so文件,如下图:
至此问题的解决算是告一段落,其实在遇到这个问题的时候,大多都是百度此类错误,我也这么做过,但是很不幸,百度到的都是无法解决我的问题,并且都是大同小异,无法提供多个解决方案,所以还是要靠个人分析。