我使用'gradle-experimental:0.4.0'
,我想在我的项目中使用onesignal sdk。当我尝试使用此处示例中提到的代码构建项目时,我收到此错误:
错误:没有这样的属性:类的manifestPlaceholders: 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
}
互联网搜索一无所获。我该怎么做才能消除这个错误?
答案 0 :(得分: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而不是正常版本,则需要使用jar版本的OneSignal并手动添加AndroidManifest.xml条目。有关清单条目的说明,请参阅OneSignal Eclipse设置中的step 2。
感谢。