roblav96 / nativescript-onesignal

A Nativescript plugin that wraps the iOS and Android OneSignal Push Notifications SDK.
https://documentation.onesignal.com/docs/getting-started
Other
24 stars 42 forks source link

Build issue #9

Open randy-johnson opened 7 years ago

randy-johnson commented 7 years ago

I am getting this error today when trying to do a build of my app. Not sure what I should do since there is nothing in the documentation on the app id

`com.onesignal:OneSignal:3.5.1] C:\ns\locallyepicapp\platforms\android\build\intermediates\exploded-aar\com.onesignal\OneSignal\3.5.1\AndroidManifest.xml:52:13 -48 Error: Attribute meta-data#onesignal_app_id@value at [com.onesignal:OneSignal:3.5.1] AndroidManifest.xml:52:13-48 requires a placeholder substitution but no v alue for is provided. [com.onesignal:OneSignal:3.5.1] C:\ns\locallyepicapp\platforms\android\build\intermediates\exploded-aar\com.onesignal\OneSignal\3.5.1\AndroidManifest.xml:55:13 -67 Error: Attribute meta-data#onesignal_google_project_number@value at [com.onesignal:OneSignal:3.5.1] AndroidManifest.xml:55:13-67 requires a placeholder substi tution but no value for is provided.

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

C:\ns\locallyepicapp\platforms\android\src\F1\AndroidManifest.xml:30:46-66 Error: Attribute meta-data#onesignal_app_id@value value=(test) from AndroidManifest.xml:30:46-66 is also present at [com.onesignal:OneSignal:3.5.1] AndroidManifest.xml:52:13-48 value=(${onesignal_app_id}). Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:30:3-69 to override.

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

:processF0F1F2F3F4F5F6F7F8F9F10F11F12DebugManifest FAILED

FAILURE: Build failed with an exception.

Thank You.

randy-johnson commented 7 years ago

This part of the error: Attribute meta-data#onesignal_app_id@value value=(test) from AndroidManifest.xml:30:46-66 looks like it is because I tried adding a value to my App_Resources Android manifest file to see if that would take care of the error but it didn't

roblav96 commented 7 years ago

@randy-johnson you only need to touch your gradle file:

    defaultConfig {
        manifestPlaceholders = [
            manifestApplicationId: '${applicationId}',
            onesignal_app_id: 'xxxxxxxxxxxxxxxxxxx',
            onesignal_google_project_number: 'xxxxxxxxxxxxxxxxxxx'
        ]
    }
pazel-io commented 6 years ago

I found 2 issue when adding this plugin:

  1. plugin adds maven { url "https://plugins.gradle.org/m2/" } outside of repositories block in build.gradle which messes up the generated build gradle as well.

  2. As @randy-johnson mentioned it doesn't add proper manifestPlaceholders so it needs to be added manually.

First one is definitely a bug but I am not sure about the second one. The problem is if you remove your android platform for any reason these steps needs to be repeated which is not ideal if you have integrated CI to do it.

rochapablo commented 5 years ago

https://github.com/geektimecoil/react-native-onesignal/issues/639#issuecomment-494756894