Error: NDK integration is deprecated in the current plugin. Consider try the new experimental plugin

本文介绍了一种解决在使用Android NDK过程中遇到的过时插件警告问题的方法。通过简单的两步操作——创建一个空的C文件并在Gradle配置文件中进行特定设置,可以有效避免错误并使项目继续正常构建。

跑某个大厂的demo时,说明一下项目的配置(特殊配置)app目录下有个jni文件,jni文件里面包含.c和.cpp以及.h文件(都是c文件)报了如上错:错误详情如下

Error: NDK integration is deprecated in the current plugin.  Consider trying the new experimental plugin.  For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental.  Set "$USE_DEPRECATED_NDK=true" in gradle.properties to continue using the current NDK integration.

按照报错提示:在gradle.properties设置添加:USE_DEPRECATED_NDK=true,但是仍然不管用。

有个简单粗暴的方法就是:直接删除相关的c文件代码,即可正常运行

但是我们时文明人,有更温和的办法解决:
第一步:在jni文件下,新建一个空的.c文件
第二步:在主工程下 build.gradle中添加如下代码即可完美解决问题

sourceSets.main {
        jniLibs.srcDir 'libs'
        jni.srcDirs = []
    }
CommandInvokationFailure: Gradle build failed. D:\2022.3.62f2c1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "D:\2022.3.62f2c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-7.5.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "bundleRelease" Environment Variables: USERDOMAIN = PURE-20240705RM ProgramFiles = C:\Program Files TMP = C:\Users\Administrator\AppData\Local\Temp PROCESSOR_ARCHITECTURE = AMD64 PROCESSOR_REVISION = 9702 OS = Windows_NT ALLUSERSPROFILE = C:\ProgramData PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 151 Stepping 2, GenuineIntel ProgramW6432 = C:\Program Files USERPROFILE = C:\Users\Administrator JAVA_HOME = D:\2022.3.62f2c1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK CommonProgramFiles = C:\Program Files\Common Files DriverData = C:\Windows\System32\Drivers\DriverData ComSpec = C:\Windows\system32\cmd.exe PSModulePath = C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules ANDROID_NDK_ROOT = D:\2022.3.62f2c1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK USERNAME = Administrator NUMBER_OF_PROCESSORS = 12 FPS_BROWSER_APP_PROFILE_STRING = Internet Explorer TEMP = C:\Users\Administrator\AppData\Local\Temp Path = C:\Windows\System32;C:\Program Files\Git\cmd;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps COMPUTERNAME = PURE-20240705RM PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC SystemDrive = C: windir = C:\Windows FPS_BROWSER_USER_PROFILE_STRING = Default HOMEPATH = \Users\Administrator PUBLIC = C:\Users\Public CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files APPDATA = C:\Users\Administrator\AppData\Roaming OneDrive = C:\Users\Administrator\OneDrive PROCESSOR_LEVEL = 6 CommonProgramW6432 = C:\Program Files\Common Files ProgramFiles(x86) = C:\Program Files (x86) SystemRoot = C:\Windows SESSIONNAME = Console LOGONSERVER = \\PURE-20240705RM LOCALAPPDATA = C:\Users\Administrator\AppData\Local HOMEDRIVE = C: USERDOMAIN_ROAMINGPROFILE = PURE-20240705RM ProgramData = C:\ProgramData ORIGINAL_XDG_CURRENT_DESKTOP = undefined stderr[ ERROR:C:\Users\Administrator\.gradle\caches\transforms-3\def67d05e8fc21b6f9b2f49465e50039\transformed\jetified-audience-network-sdk-6.21.0-runtime.jar: D8: java.lang.NullPointerException FAILURE: Build completed with 2 failures. 1: Task failed with an exception. ----------- * What went wrong: Execution failed for task ':launcher:dexBuilderRelease'. > Could not resolve all files for configuration ':launcher:detachedConfiguration4'. > Failed to transform jetified-audience-network-sdk-6.21.0-runtime.jar to match attributes {artifactType=ext-dex-dexBuilderRelease, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}. > Execution failed for DexingExternalLibArtifactTransform: C:\Users\Administrator\.gradle\caches\transforms-3\def67d05e8fc21b6f9b2f49465e50039\transformed\jetified-audience-network-sdk-6.21.0-runtime.jar. > Error while dexing. * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. ============================================================================== 2: Task failed with an exception. ----------- * What went wrong: java.lang.StackOverflowError (no error message) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. ============================================================================== * Get more help at https://help.gradle.org BUILD FAILED in 43s ] stdout[ > Configure project :launcher WARNING:The option setting 'android.enableDexingArtifactTransform=false' is deprecated. The current default is 'true'. It will be removed in version 8.0 of the Android Gradle plugin. WARNING:The option setting 'android.aapt2FromMavenOverride=D:\2022.3.62f2c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\34.0.0\aapt2.exe' is experimental. ============================================================================= AppLovin Quality Service Plug-in for Gradle and Android Studio Version 5.10.5 Copyright (c) 2025 AppLovin Ltd. All rights reserved. ============================================================================= > Configure project :unityLibrary:FirebaseApp.androidlib WARNING:minSdkVersion (25) is greater than targetSdkVersion (9) for variant "debug". Please change the values such that minSdkVersion is less than or equal to targetSdkVersion. WARNING:minSdkVersion (25) is greater than targetSdkVersion (9) for variant "release". Please change the values such that minSdkVersion is less than or equal to targetSdkVersion. WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 35 This Android Gradle plugin (7.4.2) was tested up to compileSdk = 33 This warning can be suppressed by adding android.suppressUnsupportedCompileSdk=35 to this project's gradle.properties The build will continue, but you are strongly encouraged to update your project to use a newer Android Gradle Plugin that has been tested with compileSdk = 35 > Task :launcher:preBuild UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:preBuild UP-TO-DATE > Task :unityLibrary:preBuild UP-TO-DATE > Task :unityLibrary:preReleaseBuild UP-TO-DATE > Task :launcher:preReleaseBuild UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:preReleaseBuild UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:packageReleaseRenderscript NO-SOURCE > Task :unityLibrary:packageReleaseRenderscript NO-SOURCE > Task :launcher:generateReleaseResValues UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:compileReleaseRenderscript NO-SOURCE > Task :unityLibrary:compileReleaseRenderscript NO-SOURCE > Task :launcher:compileReleaseRenderscript NO-SOURCE > Task :launcher:generateReleaseResources UP-TO-DATE > Task :unityLibrary:generateReleaseResValues UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResValues UP-TO-DATE > Task :unityLibrary:generateReleaseResources UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:generateReleaseResources UP-TO-DATE > Task :UnityDataAssetPack:generateAssetPackManifest UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:packageReleaseResources UP-TO-DATE > Task :unityLibrary:packageReleaseResources UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:extractDeepLinksRelease UP-TO-DATE > Task :unityLibrary:extractDeepLinksRelease UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:processReleaseManifest UP-TO-DATE > Task :unityLibrary:processReleaseManifest UP-TO-DATE > Task :unityLibrary:compileReleaseLibraryResources UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:compileReleaseLibraryResources UP-TO-DATE > Task :unityLibrary:writeReleaseAarMetadata UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:compileReleaseAidl NO-SOURCE > Task :unityLibrary:FirebaseApp.androidlib:writeReleaseAarMetadata UP-TO-DATE > Task :launcher:createReleaseCompatibleScreenManifests > Task :unityLibrary:FirebaseApp.androidlib:parseReleaseLocalResources UP-TO-DATE > Task :unityLibrary:parseReleaseLocalResources UP-TO-DATE > Task :unityLibrary:compileReleaseAidl NO-SOURCE > Task :unityLibrary:generateReleaseBuildConfig UP-TO-DATE > Task :launcher:processReleaseAssetPackManifests UP-TO-DATE > Task :unityLibrary:javaPreCompileRelease UP-TO-DATE > Task :launcher:linkReleaseManifestForAssetPacks UP-TO-DATE > Task :unityLibrary:mergeReleaseShaders UP-TO-DATE > Task :unityLibrary:compileReleaseShaders NO-SOURCE > Task :unityLibrary:generateReleaseAssets UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:generateReleaseRFile UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:generateReleaseBuildConfig UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:javaPreCompileRelease UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:compileReleaseJavaWithJavac UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:bundleLibCompileToJarRelease UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:bundleLibRuntimeToJarRelease UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseShaders UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:compileReleaseShaders NO-SOURCE > Task :unityLibrary:FirebaseApp.androidlib:generateReleaseAssets UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:packageReleaseAssets UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:processReleaseJavaRes NO-SOURCE > Task :unityLibrary:FirebaseApp.androidlib:bundleLibResRelease NO-SOURCE > Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseJniLibFolders UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:mergeReleaseNativeLibs NO-SOURCE > Task :unityLibrary:FirebaseApp.androidlib:copyReleaseJniLibsProjectOnly UP-TO-DATE > Task :unityLibrary:FirebaseApp.androidlib:prepareReleaseArtProfile UP-TO-DATE > Task :unityLibrary:packageReleaseAssets > Task :launcher:assetPackReleasePreBundleTask > Task :launcher:mapReleaseSourceSetPaths UP-TO-DATE > Task :launcher:mergeReleaseResources UP-TO-DATE > Task :launcher:extractDeepLinksRelease UP-TO-DATE > Task :unityLibrary:generateReleaseRFile UP-TO-DATE > Task :unityLibrary:compileReleaseJavaWithJavac UP-TO-DATE > Task :unityLibrary:bundleLibCompileToJarRelease UP-TO-DATE > Task :unityLibrary:bundleLibRuntimeToJarRelease UP-TO-DATE > Task :unityLibrary:processReleaseJavaRes UP-TO-DATE > Task :unityLibrary:bundleLibResRelease UP-TO-DATE > Task :unityLibrary:mergeReleaseJniLibFolders > Task :unityLibrary:prepareReleaseArtProfile UP-TO-DATE > Task :unityLibrary:mergeReleaseNativeLibs > Task :launcher:processReleaseMainManifest > Task :unityLibrary:copyReleaseJniLibsProjectOnly > Task :launcher:processReleaseManifest > Task :launcher:processApplicationManifestReleaseForBundle > Task :launcher:compileReleaseAidl NO-SOURCE > Task :launcher:generateReleaseBuildConfig > Task :launcher:javaPreCompileRelease UP-TO-DATE > Task :launcher:checkReleaseAarMetadata UP-TO-DATE > Task :launcher:mergeReleaseShaders UP-TO-DATE > Task :launcher:compileReleaseShaders NO-SOURCE > Task :launcher:generateReleaseAssets UP-TO-DATE > Task :launcher:mergeReleaseAssets > Task :launcher:processReleaseJavaRes NO-SOURCE > Task :launcher:mergeReleaseJniLibFolders UP-TO-DATE > Task :launcher:writeReleaseAppMetadata UP-TO-DATE > Task :launcher:mergeReleaseArtProfile UP-TO-DATE > Task :launcher:bundleReleaseResources > Task :launcher:checkReleaseDuplicateClasses > Task :launcher:mergeReleaseNativeLibs > Task :launcher:collectReleaseDependencies > Task :launcher:configureReleaseDependencies > Task :launcher:parseReleaseIntegrityConfig UP-TO-DATE > Task :launcher:writeReleaseApplicationId UP-TO-DATE > Task :launcher:analyticsRecordingRelease > Task :launcher:validateSigningRelease UP-TO-DATE > Task :launcher:processReleaseManifestForPackage > Task :launcher:stripReleaseDebugSymbols > Task :launcher:extractReleaseNativeSymbolTables > Task :launcher:processReleaseResources > Task :launcher:compileReleaseJavaWithJavac > Task :launcher:mergeReleaseJavaResource > Task :launcher:dexBuilderRelease > Task :launcher:dexBuilderRelease FAILED 75 actionable tasks: 24 executed, 51 up-to-date ] exit code: 1
最新发布
12-27
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值