我使用 'gradle-experimental:0.4.0'
并且我想为我的项目使用 onesignal sdk。当我尝试使用此处示例中提到的代码构建项目时,出现此错误:
Error:No such property: manifestPlaceholders for class: com.android.build.gradle.managed.ProductFlavor.
示例中的代码
android {
defaultConfig {
manifestPlaceholders = [manifestApplicationId: "${applicationId}",
onesignal_app_id: "bbbbbb-324f-34fd-bed1-df8f05be55ba",
onesignal_google_project_number: "11111111"]
}
}
我项目中的代码
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
applicationId = "com.myproject.company"
manifestPlaceholders = [manifestApplicationId: "${applicationId}",
onesignal_app_id: "234jfi4-2342-4a23-234-24235436546",
onesignal_google_project_number: "111111111"]
minSdkVersion.apiLevel = 16
targetSdkVersion.apiLevel = 23
versionCode = 3
}
互联网搜索一无所获。我应该怎么做才能消除此错误?
最佳答案
我查看了 gradle-experimental 的源代码,我在最新提交的 manifestPlaceholders 上看到了一个 TODO,所以看起来它还不受支持。 https://android.googlesource.com/platform/tools/base/+/6e2ee9ad8a0aeff3231f9937e46cc663aa2a64c5/build-system/gradle-experimental/src/main/groovy/com/android/build/gradle/managed/ProductFlavor.java#97
如果您必须使用 gradle-experimental 而不是正常版本,您将需要使用 OneSignal 的 jar 版本并手动添加 AndroidManifest.xml 条目。参见 step 2在 OneSignal 的 Eclipse 设置中获取 list 条目的说明。
谢谢。
关于android - 错误 :No such property: manifestPlaceholders for class: com. android.build.gradle.managed.ProductFlavor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35167483/