作者:小子少耍酷10 | 来源:互联网 | 2023-05-21 11:30
我刚刚从1.0.0更新了Android Gradle插件到1.1.0,我收到了这个错误:
没有方法签名:com.android.build.gradle.LibraryPlugin.getNdkFolder()适用于参数类型:()值:[]
我试图找到gradle插件1.0.0到1.1.0的差异,但无法在网上找到任何地方.
似乎getNdkFolder
方法已被更改或删除.
有替代品吗?或者任何其他方式获得NdkFolder?
我正在使用这样的方法,
def ndkDir = project.plugins.findPlugin('com.android.library').getNdkFolder()
我还针对Android问题跟踪器中的工具团队提出了问题:https://code.google.com/p/android/issues/detail? id = 152810
谢谢 !
1> Michael Pard..:
你可以这样得到它:
plugins.getPlugin('com.android.library').sdkHandler.getNdkFolder()
这似乎在Android Studio 2.3中不再有效.请参阅@ Cameron的解决方案.
2> Cameron Lowe..:
正确的方法 - android.ndkDirectory
从更改android.plugin.ndkFolder
到的更改android.ndkDirectory
记录在技术文档Migrating Gradle Projects中,版本为1.0.0.另外你应该将你的android插件更新到2.3.0.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
}
}
这sdkFolder
是内部的,可能会像ndkFolder
停止工作一样停止工作.
关于实验分支
搜索周围,插件已经足够成熟,你很难找到使用NDK实验分支的理由.
有一些关于插件破坏的实验版本的讨论,ndkDirectory
这是在1.1之后访问该值的记录方式.如果在发布的版本中发生了变化,我会更新我的答案,同时如果运行实验性插件是你的事情,你可以使用@Alex Cohn的答案破解这个bug /功能.
事实上,所有的学分应该转到[Riccardo Ciovati](http://stackoverflow.com/users/321354/riccardo-ciovati):*[我如何阅读build.gradle中local.properties中定义的属性]( http://stackoverflow.com/a/22012018/192373)*