Switching from GCM to FCM

1,249 views
Skip to first unread message

Przemek Lach

unread,
Jan 12, 2018, 3:28:23 PM1/12/18
to bazel-discuss
I have an android_binary rule that I've been using to build my Android app. This app uses remote notifications and up to now I've been using GCM library to handle all my remote notification work.

I'm trying to upgrade to use FCM and I'm not able to successfully get my device token. I built a version of this app using Android Studio and Gradle and it works fine. I then based my Bazel version of this app on what Android Studio created. 

I'm obviously missing a piece of the puzzle. I'm assuming, probably incorrectly, that by specifying the services in my Manifest that Android would go out and get my token but this is not happening since when I launch my app I never see the logging for my token.

What am I missing? Do I need to add something to the Manfiest, the build file, or do I have to do some manual work in my own code?

Bazel File:
aar_import(
    name
= "google-firebase-messaging",
    aar
= "//external:google-firebase-messaging",
)


aar_import
(
    name
= "google-firebase-iid",
    aar
= "//external:google-firebase-iid",
)


android_binary
(
    name
= "TestApp",
    srcs
= glob(["*.java"]),
    legacy_native_support
= 0,
    manifest
= "AndroidManifest.xml",
    manifest_values
= {"applicationId": "com.mycompany.testapp"},
    resource_files
= glob([
       
"res/**/*.png",
       
"res/**/*.jpg",
       
"res/**/*.xml",
   
]),
    visibility
= ["//visibility:public"],
    deps
= [
       
":google-firebase-messaging",
       
":google-firebase-iid",
   
],
)

Manifest File:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
         
package="com.mycompany.testapp"
         
android:versionName="V1.0">

 
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26" />
 
 
<application
     
android:allowBackup="false"
     
android:icon="@mipmap/ic_launcher"
     
android:label="@string/app_name"
     
android:theme="@style/AppTheme"
     
android:name="com.mycompany.testapp.TestApp">
   
<activity
       
android:name=".LaunchActivity"
       
android:screenOrientation="sensor">
     
<intent-filter>
       
<action android:name="android.intent.action.MAIN" />
       
<category android:name="android.intent.category.LAUNCHER" />
     
</intent-filter>
   
</activity>
   
<service
           
android:name="com.mycompany.testapp.MyFirebaseInstanceIdService">
     
<intent-filter>
       
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
     
</intent-filter>
   
</service>
   
<service
           
android:name="com.mycompany.testapp.MyFirebaseMessagingService">
     
<intent-filter>
       
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
     
</intent-filter>
   
</service>
 
</application>
</manifest>

Token Service:
package com.mycompany.testapp;

import android.util.Log;

import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;

public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService {

 
@Override
 
public void onTokenRefresh() {
   
super.onTokenRefresh();

   
String token = FirebaseInstanceId.getInstance().getToken();
   
Log.d("MyFirebaseInstanceIdService", "token=" + token);
 
}
}


Alex Humesky

unread,
Jan 12, 2018, 3:56:49 PM1/12/18
to Przemek Lach, bazel-discuss
It might be that you need to include the json file which contains credentials for firebase. I don't have an FCM example set up at the moment, I'll take a look at how to set it up.

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-discuss/46f8974b-ac2d-4739-9dbf-7af002861533%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Message has been deleted

Przemek Lach

unread,
Jan 13, 2018, 8:00:23 PM1/13/18
to bazel-discuss
As an update. 

I've been trying to figure this one out and I've simplified my app to follow the Android sample on GitHub. I got a basic application building and installing on my device: however, when I try to add the Firebase dependencies I get a compilation problem.

New BUILD File:
android_binary(
    name
= "bazel-fcm-test-app",
    srcs
= glob(["*.java",]),
    manifest
= "AndroidManifest.xml",

    resource_files
= glob([
       
"res/**/*.png",
       
"res/**/*.jpg",
       
"res/**/*.xml",
   
]),

    deps
= [
       
"@androidsdk//com.android.support:appcompat-v7-25.3.1",
       
"@androidsdk//com.android.support.constraint:constraint-layout-1.0.2",
       
"@androidsdk//com.google.firebase:firebase-iid-11.0.4",
       
"@androidsdk//com.google.firebase:firebase-messaging-11.0.4",
   
],
)

WORKSPACE File:
android_sdk_repository(
  name
= "androidsdk",
  path
= "/usr/local/share/android-sdk",
  api_level
= 26,
  build_tools_version
= "26.0.2")

Compilation Error:
Building src/libbazel-fcm-test-app.jar (3 source files) failed (Exit 1).
src
/MyFirebaseInstanceIdService.java:8: error: cannot access zzb
public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService {

       
^
 
class file for com.google.firebase.iid.zzb not found
src
/MyFirebaseMessagingService.java:14: error: cannot access zza
       
Log.i("##?", "From: " + remoteMessage.getFrom());
                                             
^
 
class file for com.google.android.gms.common.internal.safeparcel.zza not found

So the first two dependencies, appcompat & constraint-layout, are fine. Probably because when I go into those directories the libraries are stored in jars whereas the firebase ones are stored as aar's. Not sure if that is the reason for this error?

Alex Humesky

unread,
Jan 16, 2018, 6:30:29 PM1/16/18
to Przemek Lach, bazel-discuss
Hi, I was setting up an app with FCM earlier and ran into a similar problem. I'm pretty sure the dependencies either aren't set up right or they aren't being passed to the tools correctly. Can you run bazel with --subcommands? That will indicate which step the error is coming from.

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.

Alex Humesky

unread,
Jan 16, 2018, 6:32:15 PM1/16/18
to Przemek Lach, bazel-discuss
Also, I'm not sure if you're able to read this, but when I replied to this thread I got this automated response:

Address not found
Your message wasn't delivered to prz...@przemeklach.com because the address couldn't be found, or is unable to receive mail

The response from the remote server was:
550 5.1.1 Requested action not taken: mailbox unavailable

Adam Michael

unread,
Jan 17, 2018, 3:07:55 PM1/17/18
to Alex Humesky, Przemek Lach, bazel-discuss
Hi Przemek, you've found a bug in android_sdk_repository. This workspace rule parses the .pom files in the extras/ local maven repository in your Android SDK. However, extras/google/m2repository/com/google/firebase/firebase-iid/11.0.4/firebase-iid-11.0.4.pom uses a version identifier of "[11.0.4]" for its play-services-basement dependency. Note the brackets. Bazel is currently choking on this.

You may be able to work around your problem by also depending on @androidsdk//com.google.android.gms:play-services-basement-11.0.4 and @androidsdk//com.google.firebase:firebase-common-11.0.4.

Hope this helps,
Adam

To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discuss+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discuss+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bazel-discuss/CAAvaYBnDZhdznfWMssapNcBBQooUm_Ca-pZmWcngpBkLF7qv8A%40mail.gmail.com.

Przemek Lach

unread,
Jan 17, 2018, 5:23:15 PM1/17/18
to bazel-discuss
Hi,

Here is the output when I with --subdomains

>>>>> # //src:bazel-fcm-test-app [action 'Merging manifest for //src:bazel-fcm-test-app']
(cd /private/var/tmp/_bazel_przemeklach/bd708b78e5753ddf2771cc0fd7d1193f/execroot/__main__ && \
 
exec env - \
    PATH
=/Users/przemeklach/dev/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/przemeklach/dev/buildifier/bazel-bin/buildifier:/Users/przemeklach/dev/arcanist/bin:/Users/przemeklach/dev/libphutil:/opt/android/tools/bin:/opt/android/tools:/opt/android/platform-tools:/opt/android/build-tools/26.0.2:/opt/android/ndk \
    TMPDIR
=/var/folders/3r/ml4mrswx09z7g3mfdy4q_g5m0000gn/T/ \
  bazel
-out/host/bin/external/bazel_tools/src/tools/android/java/com/google/devtools/build/android/ResourceProcessorBusyBox --tool MERGE_MANIFEST -- --manifest src/AndroidManifest.xml --mergeeManifests 'bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/animated-vector-drawable-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:animated-vector-drawable-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/appcompat-v7-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:appcompat-v7-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:support-compat-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-ui-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:support-core-ui-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-utils-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:support-core-utils-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-fragment-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:support-fragment-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-media-compat-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:support-media-compat-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-v4-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:support-v4-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-vector-drawable-25.3.1_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support\:support-vector-drawable-25.3.1,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support.constraint/constraint-layout-1.0.2_processed_manifest/AndroidManifest.xml:@androidsdk//com.android.support.constraint\:constraint-layout-1.0.2,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-iid-11.0.4_processed_manifest/AndroidManifest.xml:@androidsdk//com.google.firebase\:firebase-iid-11.0.4,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-messaging-11.0.4_processed_manifest/AndroidManifest.xml:@androidsdk//com.google.firebase\:firebase-messaging-11.0.4' --manifestOutput bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_merged/bazel-fcm-test-app/AndroidManifest.xml --log bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_merged/bazel-fcm-test-app/manifest_merger_log.txt)
>>>>> # //src:bazel-fcm-test-app [action 'Processing Android resources for //src:bazel-fcm-test-app']
(cd /private/var/tmp/_bazel_przemeklach/bd708b78e5753ddf2771cc0fd7d1193f/execroot/__main__ && \
 
exec env - \
    PATH
=/Users/przemeklach/dev/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/przemeklach/dev/buildifier/bazel-bin/buildifier:/Users/przemeklach/dev/arcanist/bin:/Users/przemeklach/dev/libphutil:/opt/android/tools/bin:/opt/android/tools:/opt/android/platform-tools:/opt/android/build-tools/26.0.2:/opt/android/ndk \
    TMPDIR
=/var/folders/3r/ml4mrswx09z7g3mfdy4q_g5m0000gn/T/ \
  bazel
-out/host/bin/external/bazel_tools/src/tools/android/java/com/google/devtools/build/android/ResourceProcessorBusyBox --tool PACKAGE -- --data bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-compat-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-vector-drawable-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-vector-drawable-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-vector-drawable-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-vector-drawable-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-core-ui-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-ui-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-ui-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-ui-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-core-utils-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-utils-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-utils-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-utils-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-media-compat-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-media-compat-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-media-compat-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-media-compat-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-fragment-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-fragment-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-fragment-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-fragment-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/animated-vector-drawable-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/animated-vector-drawable-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/animated-vector-drawable-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/animated-vector-drawable-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/support-v4-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-v4-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-v4-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-v4-25.3.1_symbols/local.bin --directData bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/_aar/unzipped/resources/appcompat-v7-25.3.1::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/appcompat-v7-25.3.1_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/appcompat-v7-25.3.1_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/appcompat-v7-25.3.1_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support.constraint/_aar/unzipped/resources/constraint-layout-1.0.2::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support.constraint/constraint-layout-1.0.2_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support.constraint/constraint-layout-1.0.2_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support.constraint/constraint-layout-1.0.2_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/_aar/unzipped/resources/firebase-iid-11.0.4::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-iid-11.0.4_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-iid-11.0.4_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-iid-11.0.4_symbols/local.bin,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/_aar/unzipped/resources/firebase-messaging-11.0.4::bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-messaging-11.0.4_processed_manifest/AndroidManifest.xml:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-messaging-11.0.4_symbols/R.txt:bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-messaging-11.0.4_symbols/local.bin --aapt bazel-out/host/bin/external/androidsdk/aapt_binary --primaryData src/res::bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_merged/bazel-fcm-test-app/AndroidManifest.xml --buildToolsVersion 26.0.2 --annotationJar external/androidsdk/tools/support/annotations.jar --androidJar external/androidsdk/platforms/android-26/android.jar --rOutput bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_symbols/R.txt --srcJarOutput bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app.srcjar --proguardOutput bazel-out/darwin_x86_64-fastbuild/bin/src/proguard/bazel-fcm-test-app/_bazel-fcm-test-app_proguard.cfg --mainDexProguardOutput bazel-out/darwin_x86_64-fastbuild/bin/src/proguard/bazel-fcm-test-app/main_dex_bazel-fcm-test-app_proguard.cfg --manifestOutput bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_processed_manifest/AndroidManifest.xml --resourcesOutput bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_files/resource_files.zip --packagePath bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app.ap_ --debug)
>>>>> # //src:bazel-fcm-test-app [action 'Generating R Classes: //src:bazel-fcm-test-app']
(cd /private/var/tmp/_bazel_przemeklach/bd708b78e5753ddf2771cc0fd7d1193f/execroot/__main__ && \
 
exec env - \
    PATH
=/Users/przemeklach/dev/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/przemeklach/dev/buildifier/bazel-bin/buildifier:/Users/przemeklach/dev/arcanist/bin:/Users/przemeklach/dev/libphutil:/opt/android/tools/bin:/opt/android/tools:/opt/android/platform-tools:/opt/android/build-tools/26.0.2:/opt/android/ndk \
    TMPDIR
=/var/folders/3r/ml4mrswx09z7g3mfdy4q_g5m0000gn/T/ \
  bazel
-out/host/bin/external/bazel_tools/src/tools/android/java/com/google/devtools/build/android/ResourceProcessorBusyBox --tool GENERATE_BINARY_R -- --primaryRTxt bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_symbols/R.txt --primaryManifest bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/appcompat-v7-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/appcompat-v7-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support.constraint/constraint-layout-1.0.2_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support.constraint/constraint-layout-1.0.2_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-iid-11.0.4_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-iid-11.0.4_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-messaging-11.0.4_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.google.firebase/firebase-messaging-11.0.4_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-compat-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-vector-drawable-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-vector-drawable-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-ui-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-ui-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-utils-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-core-utils-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-media-compat-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-media-compat-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-fragment-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-fragment-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/animated-vector-drawable-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/animated-vector-drawable-25.3.1_processed_manifest/AndroidManifest.xml --library bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-v4-25.3.1_symbols/R.txt,bazel-out/android-stub_armeabi-v7a-fastbuild/bin/external/androidsdk/com.android.support/support-v4-25.3.1_processed_manifest/AndroidManifest.xml --classJarOutput bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_resources.jar)
>>>>> # //src:bazel-fcm-test-app [action 'Desugaring src/bazel-fcm-test-app_resources.jar for Android']
(cd /private/var/tmp/_bazel_przemeklach/bd708b78e5753ddf2771cc0fd7d1193f/execroot/__main__ && \
 
exec env - \
    PATH
=/Users/przemeklach/dev/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/przemeklach/dev/buildifier/bazel-bin/buildifier:/Users/przemeklach/dev/arcanist/bin:/Users/przemeklach/dev/libphutil:/opt/android/tools/bin:/opt/android/tools:/opt/android/platform-tools:/opt/android/build-tools/26.0.2:/opt/android/ndk \
    TMPDIR
=/var/folders/3r/ml4mrswx09z7g3mfdy4q_g5m0000gn/T/ \
  bazel
-out/host/bin/external/bazel_tools/src/tools/android/java/com/google/devtools/build/android/desugar/Desugar @bazel-out/darwin_x86_64-fastbuild/bin/src/bazel-fcm-test-app_resources.jar_desugared.jar-2.params)
>>>>> # //src:bazel-fcm-test-app [action 'Building src/libbazel-fcm-test-app.jar (3 source files)']
(cd /private/var/tmp/_bazel_przemeklach/bd708b78e5753ddf2771cc0fd7d1193f/execroot/__main__ && \
 
exec env - \
    LC_CTYPE
=en_US.UTF-8 \
  external
/local_jdk/bin/java -XX:+TieredCompilation '-XX:TieredStopAtLevel=1' -Xbootclasspath/p:external/bazel_tools/third_party/java/jdk/langtools/javac-9-dev-r4023-3.jar -jar external/bazel_tools/tools/jdk/JavaBuilder_deploy.jar @bazel-out/darwin_x86_64-fastbuild/bin/src/libbazel-fcm-test-app.jar-2.params)
ERROR
: /Users/przemeklach/dev/remote-notification-testing/bazel-fcm-test-app/src/BUILD:1:1: Building src/libbazel-fcm-test-app.jar (3 source files) failed (Exit 1).

src
/MyFirebaseInstanceIdService.java:8: error: cannot access zzb
public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService {
       
^
 
class file for com.google.firebase.iid.zzb not found
src
/MyFirebaseMessagingService.java:14: error: cannot access zza
       
Log.i("##?", "From: " + remoteMessage.getFrom());
                                             
^
 
class file for com.google.android.gms.common.internal.safeparcel.zza not found
Target //src:bazel-fcm-test-app failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO
: Elapsed time: 4.598s, Critical Path: 4.37s

Przemek Lach

unread,
Jan 17, 2018, 5:24:05 PM1/17/18
to bazel-discuss
Ya I was messing with my MX records and my email is all messed up. 

I'm checking this forum regularly so I will see your messages.

Przemek Lach

unread,
Jan 17, 2018, 5:25:06 PM1/17/18
to bazel-discuss
Hi,

Adding those dependencies does not fix the problem.

To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "bazel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bazel-discus...@googlegroups.com.

Alex Humesky

unread,
Jan 18, 2018, 9:27:33 PM1/18/18
to Przemek Lach, bazel-discuss
As an update, one issue here has been fixed: https://github.com/bazelbuild/bazel/issues/4472 That should go out with bazel 0.11.
In the meantime, I have a sample FCM app building with bazel that has all the extra deps needed, however there is one step missing which is to transform the google-services.json file into the appropriate resource xml files. That's basically this step from gradle: https://android.googlesource.com/platform/tools/base/+/studio-3.0/build-system/google-services/src/main/groovy/com/google/gms/googleservices/GoogleServicesTask.java
I'll find some time tomorrow to implement a similar step for bazel and wrap it up into an example.

Alex Humesky

unread,
Jan 24, 2018, 3:40:30 PM1/24/18
to Przemek Lach, bazel-discuss
Hi Przemek,
Could you take a look at the attached bazel project? It's a small example app with FCM that builds with bazel. I'll include it in our examples repository if it works for you.
bazel_fcm_example.zip

Przemek Lach

unread,
Jan 24, 2018, 6:05:29 PM1/24/18
to bazel-discuss
Great. Thank you. I will try it out and get back to you.

What is the min Bazel version required for this?

Alex Humesky

unread,
Jan 24, 2018, 6:18:05 PM1/24/18
to Przemek Lach, bazel-discuss
I was using 0.9.0, and I think it would work with 0.8.0

Reply all
Reply to author
Forward
0 new messages