错误:没有这样的属性:类的manifestPlaceholders:com.android.build.gradle.managed.ProductFlavor

时间:2016-02-03 02:30:16

标签: android gradle-experimental onesignal

我使用'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    
        }

互联网搜索一无所获。我该怎么做才能消除这个错误?

1 个答案:

答案 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

感谢。