4

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

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

4

1 回答 1

4

我查看了 gradle-experimental 的源代码,我在最新提交的 manifestPlaceholders 上看到了一个 TODO,所以它看起来还不支持。 https://android.googlesource.com/platform/tools/base/+/6e2ee9ad8a0aeff​​3231f9937e46cc663aa2a64c5/build-system/gradle-experimental/src/main/groovy/com/android/build/gradle/managed/ProductFlavor.java#97

如果您必须使用 gradle-experimental 而不是正常版本,则需要使用 OneSignal 的 jar 版本并手动添加 AndroidManifest.xml 条目。有关清单条目的说明,请参阅OneSignal 的 Eclipse 设置中的步骤 2

谢谢。

于 2016-02-04T00:38:13.743 回答