com android build gradle libraryplugin,android开发里跳过的坑-AS导入NDK工程提示错误 No such property: sdkHandler for...

接到一个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‘

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值