fra*_*gon 5 android android-manifest android-library android-gradle-plugin onesignal
我正在尝试将OneSignal SDK添加到我的 Android 库项目中。因此,我在我的库中添加了必要的依赖项,build.gradle并且还manifestPlaceholders:
// One Signal:
manifestPlaceholders = [onesignal_app_id: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: "XXXXXXXXXXXX"]
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试构建一个使用我添加了 OneSignal 的库的演示应用程序时,我收到以下错误:
/path_to_project/demoapp/demoapp/src/main/AndroidManifest.xml Error:
Attribute meta-data#onesignal_app_id@value at AndroidManifest.xml requires a placeholder substitution but no value for <onesignal_app_id> is provided.
/path_to_project/demoapp/demoapp/src/main/AndroidManifest.xml Error:
Attribute meta-data#onesignal_google_project_number@value at AndroidManifest.xml requires a placeholder substitution but no value for <onesignal_google_project_number> is provided.
See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.
:demoapp:processDebugManifest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':demoapp:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
Run Code Online (Sandbox Code Playgroud)
我没有手动添加任何内容AndroidManifest.xml(无论是应用程序还是库)。
我想在我的库中使用 OneSignal SDK,并且能够将我的库添加到任何应用程序,这样onesignal_app_id和onesignal_google_project_number对于使用我的库的所有应用程序都是相同的。我怎样才能实现这个目标?
小智 -6
manifestPlaceholders = [onesignal_app_id: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: "XXXXXXXXXXXX"]
Run Code Online (Sandbox Code Playgroud)
您可以将代码添加到库 build.gradle 中。
像这样:
buildTypes {
release {
minifyEnabled false
debuggable true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.awter
manifestPlaceholders = [onesignal_app_id: "xxxxxxx",
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: "REMOTE"]
}
debug {
manifestPlaceholders = [onesignal_app_id: "xxxxx",
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: "REMOTE"]
}
}
Run Code Online (Sandbox Code Playgroud)
这个对我有用。
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |