android開發里跳過的坑-AS導入NDK工程提示錯誤 No such property: sdkHandler for class: com.android.build.gradle.LibraryPlugin


接到一個NDK工程需要調試,導入后發現總是提示錯誤

Error:(37, 1) A problem occurred evaluating project ':libuvccamera'.
> No such property: sdkHandler for class: com.android.build.gradle.LibraryPlugin

百度上各種說法,有說要降低gadle版本,有說要在環境變量里配置ANDROID_NDK的路徑,試驗了都不行,最后參考別人NDK gradle文件修改如下:

未修改之前:

task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {

   println('executing ndkBuild')

   def ndkBuildingDir = project.plugins.findPlugin('com.android.library').sdkHandler.getNdkFolder().absolutePath

   def ndkBuildPath = ndkBuildingDir

  if (Os.isFamily(Os.FAMILY_WINDOWS)){

    ndkBuildPath = ndkBuildingDir + '/ndk-build.cmd'

 } else {
ndkBuildPath = ndkBuildingDir + '/ndk-build'
}
commandLine ndkBuildPath, '-j8', '-C', file('src/main').absolutePath
}

可修改為
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
println('executing ndkBuild')
def ndkBuildingDir = android.ndkDirectory
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
ndkBuildingDir = "$ndkBuildingDir/ndk-build.cmd"
} else {
ndkBuildingDir = "$ndkBuildingDir/ndk-build"
}
commandLine ndkBuildingDir, '-j8', '-C', file('src/main').absolutePath
}
或者修改為
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {

println('executing ndkBuild')
 //def ndkBuildingDir = project.plugins.findPlugin('com.android.library').sdkHandler.getNdkFolder().absolutePath
//def ndkBuildPath = ndkBuildingDir
def ndkBuildPath = android.ndkDirectory
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine "$ndkBuildPath/ndk-build.cmd",
'-C', file('src/main').absolutePath, // Change src/main/jni the relative path to your jni source
'-j', Runtime.runtime.availableProcessors(),
'all',
'NDK_DEBUG=1'
} else {
  
commandLine "$ndkBuildPath/ndk-build",
            '-C', file('src/main').absolutePath, // Change src/main/jni the relative path to your jni source
'-j', Runtime.runtime.availableProcessors(),
'all',
'NDK_DEBUG=1'
   }

}
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM