Closed jsplaine closed 8 years ago
@minhnc Any ideas? Do you think this may be caused when using a non-alloy project?
@jsplaine I just commit module 1.0.3 which included intercom-sdk-gcm jar. Let me know if this work for you.
https://github.com/minhnc/TiIntercomAndroid/commit/a49653a84b66c4556398f84de37b6f0e270a6d3f
@minhnc Thanks for checking this out so quickly!
I see an error with this build on TiIntercom.initialize()
05-18 10:38:01.360 25837 25852 I TiAPI : XXX TiIntercom.initialize
05-18 10:38:01.360 25837 25852 D TiintercomandroidModule: (KrollRuntimeThread) [4,559] TiIntercom : initialize()
05-18 10:38:01.362 25837 25852 W System.err: java.lang.IllegalArgumentException: Component class io.intercom.android.sdk.gcm.GcmBroadcastReceiver does not exist in xxxxx
05-18 10:38:01.416 25837 25852 W System.err: at android.os.Parcel.readException(Parcel.java:1624)
05-18 10:38:01.416 25837 25852 W System.err: at android.os.Parcel.readException(Parcel.java:1573)
05-18 10:38:01.416 25837 25852 W System.err: at android.content.pm.IPackageManager$Stub$Proxy.setComponentEnabledSetting(IPackageManager.java:4031)
05-18 10:38:01.416 25837 25852 W System.err: at android.app.ApplicationPackageManager.setComponentEnabledSetting(ApplicationPackageManager.java:1860)
05-18 10:38:01.416 25837 25852 W System.err: at io.intercom.android.sdk.Gcm.changeComponentState(Gcm.java:36)
05-18 10:38:01.416 25837 25852 W System.err: at io.intercom.android.sdk.utilities.IntercomUtils.changeComponentState(IntercomUtils.java:32)
05-18 10:38:01.416 25837 25852 W System.err: at io.intercom.android.sdk.RealIntercom.<init>(RealIntercom.java:56)
05-18 10:38:01.416 25837 25852 W System.err: at io.intercom.android.sdk.Intercom.initialize(Intercom.java:45)
05-18 10:38:01.416 25837 25852 W System.err: at ti.intercom.android.TiintercomandroidModule.initialize(TiintercomandroidModule.java:52)
05-18 10:38:01.416 25837 25852 W System.err: at org.appcelerator.kroll.runtime.v8.V8Runtime.nativeRunModule(Native Method)
05-18 10:38:01.416 25837 25852 W System.err: at org.appcelerator.kroll.runtime.v8.V8Runtime.doRunModule(V8Runtime.java:177)
05-18 10:38:01.416 25837 25852 W System.err: at org.appcelerator.kroll.KrollRuntime.handleMessage(KrollRuntime.java:299)
05-18 10:38:01.416 25837 25852 W System.err: at org.appcelerator.kroll.runtime.v8.V8Runtime.handleMessage(V8Runtime.java:203)
05-18 10:38:01.417 25837 25852 W System.err: at android.os.Handler.dispatchMessage(Handler.java:98)
05-18 10:38:01.417 25837 25852 W System.err: at android.os.Looper.loop(Looper.java:148)
05-18 10:38:01.417 25837 25852 W System.err: at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:112)
@jsplaine I forgot to mention this.. try to add manifest into tiapp.xml, something like this
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application>
<service
android:name="io.intercom.android.sdk.gcm.GcmIntentService"
android:enabled="false" />
<!-- GCM setup -->
<receiver
android:name="io.intercom.android.sdk.gcm.GcmBroadcastReceiver"
android:enabled="false"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="io.intercom.intercomsdk.gcm" />
</intent-filter>
</receiver>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
</android>
@minhnc Closer, now setDeviceToken works fine. But when a push is received, this is happening:
java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string
Maybe I have an incorrect namspace string somewhere in tiapp.xml? I used your exact copy as you pasted above, except I set this to true:
android:enabled="false" />
And this:
<category android:name="io.intercom.intercomsdk.gcm" />
to this:
<category android:name="io.intercom.android.intercom.sdk.gcm" />
Here's the adb log:
05-20 14:30:15.960 9997 9997 E APSCloudPush: Payload is null!
05-20 14:30:15.961 9997 9997 D AndroidRuntime: Shutting down VM
05-20 14:30:16.110 863 2141 D NetlinkSocketObserver: NeighborEvent{elapsedMs=9604102, 10.10.128.1, [0090FB4356EB], RTM_NEWNEIGH, NUD_STALE}
05-20 14:30:16.117 9997 10066 E com.newrelic.agent.android: Crash upload failed: method POST must have a request body.
05-20 14:30:16.121 9997 10185 E TiApplication: (IntentService[GcmIntentService]) [49800,49952] Sending event: exception on thread: IntentService[GcmIntentService] msg:java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string;; Titanium 3.5.1,2015/03/05 10:08,96875c9
05-20 14:30:16.121 9997 10185 E TiApplication: java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string;
05-20 14:30:16.121 9997 10185 E TiApplication: at io.intercom.android.sdk.gcm.models.PushNotification.getTitle(PushNotification.java:79)
05-20 14:30:16.121 9997 10185 E TiApplication: at io.intercom.android.sdk.gcm.GcmNotificationBuilder.createSingleNotification(GcmNotificationBuilder.java:47)
05-20 14:30:16.121 9997 10185 E TiApplication: at io.intercom.android.sdk.gcm.GcmNotificationManager.createNotification(GcmNotificationManager.java:49)
05-20 14:30:16.121 9997 10185 E TiApplication: at io.intercom.android.sdk.gcm.GcmIntentService.onHandleIntent(GcmIntentService.java:58)
05-20 14:30:16.121 9997 10185 E TiApplication: at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
05-20 14:30:16.121 9997 10185 E TiApplication: at android.os.Handler.dispatchMessage(Handler.java:102)
05-20 14:30:16.121 9997 10185 E TiApplication: at android.os.Looper.loop(Looper.java:148)
05-20 14:30:16.121 9997 10185 E TiApplication: at android.os.HandlerThread.run(HandlerThread.java:61)
05-20 14:30:16.121 9997 10185 E TiApplication: Caused by: java.lang.ClassNotFoundException: Didn't find class "io.intercom.android.sdk.gcm.R$string" on path: DexPathList[[zip file "/data/app/com.xxxxxx.xxxxxx-2/base.apk"],nativeLibraryDirectories=[/data/app/com.xxxxxx.xxxxxx-2/lib/arm, /data/app/com.xxxxxx.xxxxxx-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
05-20 14:30:16.121 9997 10185 E TiApplication: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
05-20 14:30:16.121 9997 10185 E TiApplication: at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
05-20 14:30:16.121 9997 10185 E TiApplication: at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
05-20 14:30:16.121 9997 10185 E TiApplication: ... 8 more
05-20 14:30:16.121 9997 10185 E TiApplication: Suppressed: java.lang.ClassNotFoundException: io.intercom.android.sdk.gcm.R$string
05-20 14:30:16.121 9997 10185 E TiApplication: at java.lang.Class.classForName(Native Method)
05-20 14:30:16.121 9997 10185 E TiApplication: at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
05-20 14:30:16.121 9997 10185 E TiApplication: at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
05-20 14:30:16.121 9997 10185 E TiApplication: at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
05-20 14:30:16.121 9997 10185 E TiApplication: ... 9 more
05-20 14:30:16.121 9997 10185 E TiApplication: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
--------- beginning of crash
05-20 14:30:16.156 9997 10185 E AndroidRuntime: FATAL EXCEPTION: IntentService[GcmIntentService]
05-20 14:30:16.156 9997 10185 E AndroidRuntime: Process: com.xxxxxx.xxxxxx, PID: 9997
05-20 14:30:16.156 9997 10185 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string;
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at io.intercom.android.sdk.gcm.models.PushNotification.getTitle(PushNotification.java:79)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at io.intercom.android.sdk.gcm.GcmNotificationBuilder.createSingleNotification(GcmNotificationBuilder.java:47)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at io.intercom.android.sdk.gcm.GcmNotificationManager.createNotification(GcmNotificationManager.java:49)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at io.intercom.android.sdk.gcm.GcmIntentService.onHandleIntent(GcmIntentService.java:58)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:61)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "io.intercom.android.sdk.gcm.R$string" on path: DexPathList[[zip file "/data/app/com.xxxxxx.xxxxxx-2/base.apk"],nativeLibraryDirectories=[/data/app/com.xxxxxx.xxxxxx-2/lib/arm, /data/app/com.xxxxxx.xxxxxx-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: ... 8 more
05-20 14:30:16.156 9997 10185 E AndroidRuntime: Suppressed: java.lang.ClassNotFoundException: io.intercom.android.sdk.gcm.R$string
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at java.lang.Class.classForName(Native Method)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
05-20 14:30:16.156 9997 10185 E AndroidRuntime: ... 9 more
05-20 14:30:16.156 9997 10185 E AndroidRuntime: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
05-20 14:30:16.158 863 1857 W ActivityManager: Force finishing activity com.xxxxxx.xxxxxx/io.intercom.android.sdk.activities.MainActivity
I see the R$string class in the build folder:
titanium-dir> ls build/android/bin/classes/io/intercom/android/sdk/
Manifest$permission.class R$bool.class R$integer.class R$style.class
Manifest.class R$color.class R$layout.class R$styleable.class
R$anim.class R$dimen.class R$plurals.class R.class
R$animator.class R$drawable.class R$raw.class
R$attr.class R$id.class R$string.class
OK let try to unzip below res.zip and copy into your platform/android/
: res.zip
Hi @minhnc,
Not sure why all of these errors are happening with the introduction of the small number of files in res.zip. I've cleaned up and was able to reproduce a 2nd time...
[DEBUG] : Merging en strings => /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/values/strings.xml
[INFO] : Generating /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/values/theme.xml
[INFO] : Packaging application: /Applications/android-sdk-macosx/build-tools/23.0.3/aapt "package" "-f" "-m" "-J" "/Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/gen" "-M" "/Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/AndroidManifest.xml" "-A" "/Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/bin/assets" "-S" "/Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res" "-I" "/Applications/android-sdk-macosx/platforms/android-20/android.jar" "-F" "/Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/bin/app.ap_" "--auto-add-overlay" "--extra-packages" "ti.modules.titanium.ui:android.support.v7.appcompat:com.google.android.gms:io.intercom.android.sdk" "-S" "/var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1o7fqm5/res" "-S" "/var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res"
[ERROR] : Failed to package application:
[ERROR] :
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-mdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-hdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xhdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-hdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xhdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-mdpi/abc_ic_clear_disabled.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-hdpi/abc_ic_clear_disabled.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xhdpi/abc_ic_clear_disabled.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xxhdpi/abc_ic_clear_disabled.png: libpng warning: iCCP: profile 'icc': 'GRAY': Gray color space not permitted on RGB PNG
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-hdpi/abc_ic_clear_normal.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xxhdpi/abc_ic_clear_normal.png: libpng warning: iCCP: profile 'icc': 'GRAY': Gray color space not permitted on RGB PNG
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-mdpi/abc_ic_go.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-hdpi/abc_ic_go.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xhdpi/abc_ic_go.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xxhdpi/abc_ic_go.png: libpng warning: iCCP: profile 'icc': 'GRAY': Gray color space not permitted on RGB PNG
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-mdpi/abc_ic_search.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-hdpi/abc_ic_search.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xhdpi/abc_ic_search.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xxhdpi/abc_ic_search.png: libpng warning: iCCP: profile 'icc': 'GRAY': Gray color space not permitted on RGB PNG
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-mdpi/abc_ic_voice_search.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-hdpi/abc_ic_voice_search.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xhdpi/abc_ic_voice_search.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /var/folders/rf/8pxdk6bx775dptwwqjb6j3dh0001l0/T/116424-74971-1803sfz/res/drawable-xxhdpi/abc_ic_voice_search.png: libpng warning: iCCP: profile 'icc': 'GRAY': Gray color space not permitted on RGB PNG
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-ldpi/delete_icon_5d537ae2df.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-port-ldpi/delete_icon_5d537ae2df.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-ldpi/delete_icon_5d537ae2df.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-land-ldpi/delete_icon_5d537ae2df.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-mdpi/delete_icon_5d537ae2df.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-mdpi/delete_icon_5d537ae2df.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-ldpi/no_delete_icon_d2b2d6ea2a.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-port-ldpi/no_delete_icon_d2b2d6ea2a.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-ldpi/no_delete_icon_d2b2d6ea2a.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-land-ldpi/no_delete_icon_d2b2d6ea2a.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-mdpi/no_delete_icon_d2b2d6ea2a.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-mdpi/no_delete_icon_d2b2d6ea2a.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-hdpi/pending_icon_199e2b9be8.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-port-hdpi/pending_icon_199e2b9be8.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-hdpi/pending_icon_199e2b9be8.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-land-hdpi/pending_icon_199e2b9be8.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-hdpi/site_details_icon_f90c9ba726.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-port-hdpi/site_details_icon_f90c9ba726.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-hdpi/site_details_icon_f90c9ba726.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-land-hdpi/site_details_icon_f90c9ba726.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-ldpi/whitearrow_db72ea4f83.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-port-ldpi/whitearrow_db72ea4f83.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-ldpi/whitearrow_db72ea4f83.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-long-land-ldpi/whitearrow_db72ea4f83.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-port-mdpi/whitearrow_db72ea4f83.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/drawable-notlong-land-mdpi/whitearrow_db72ea4f83.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/layout/intercomsdk_activity_attachment.xml:51: error: Error: No resource found that matches the given name (at 'background' with value '@color/intercomsdk_semi_transparent').
[ERROR] :
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/layout/intercomsdk_activity_attachment.xml:71: error: Error: No resource found that matches the given name (at 'textColor' with value '@color/intercomsdk_diabled_button_color').
[ERROR] :
[ERROR] : /Users/xxxxx/svn/OF_mobile/branches/development/intercom3/pro_companies/build/android/res/layout/intercomsdk_admin_is_typing.xml:10: error: Error: No resource found that matches the given name (at 'contentDescription' with value '@string/intercomsdk_accessibility_is_typing').
For traditional Ti project, I put the res folder under Resources/platform/android as in this picture:
We should be able to commit these platform assets in the /platform/ folder of the module itself and they should get copied and merged to the right location at compile time.
Thanks again @minhnc
I'm away with very spotty internet service but will be back on June 1st. I got a chance to try unzipping into Resources/platform/android which resolves the issue I was seeing.
I don't think we're quite there yet because I'm not actually receiving pushes. My adb log is full of errors- I'll look through them and try to put something meaningful together. At least by June 1st.
@minhnc I think we're back to this problem: https://github.com/centogram/TiIntercomAndroid/issues/4#issuecomment-220684609
Here's where I unzipped res.zip:
adb logcat:
06-01 11:52:39.184 19588 19588 E APSCloudPush: Payload is null!
06-01 11:52:39.185 19588 19588 D AndroidRuntime: Shutting down VM
06-01 11:52:39.369 19588 19777 E com.newrelic.agent.android: Error encountered while preparing crash for New Relic! Thread starting during runtime shutdown
06-01 11:52:39.370 19588 19777 E TiApplication: (IntentService[GcmIntentService]) [48634,73818] Sending event: exception on thread: IntentService[GcmIntentService] msg:java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string;; Titanium 3.5.1,2015/03/05 10:08,96875c9
06-01 11:52:39.370 19588 19777 E TiApplication: java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string;
06-01 11:52:39.370 19588 19777 E TiApplication: at io.intercom.android.sdk.gcm.models.PushNotification.getTitle(PushNotification.java:79)
06-01 11:52:39.370 19588 19777 E TiApplication: at io.intercom.android.sdk.gcm.GcmNotificationBuilder.createSingleNotification(GcmNotificationBuilder.java:47)
06-01 11:52:39.370 19588 19777 E TiApplication: at io.intercom.android.sdk.gcm.GcmNotificationManager.createNotification(GcmNotificationManager.java:49)
06-01 11:52:39.370 19588 19777 E TiApplication: at io.intercom.android.sdk.gcm.GcmIntentService.onHandleIntent(GcmIntentService.java:58)
06-01 11:52:39.370 19588 19777 E TiApplication: at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
06-01 11:52:39.370 19588 19777 E TiApplication: at android.os.Handler.dispatchMessage(Handler.java:102)
06-01 11:52:39.370 19588 19777 E TiApplication: at android.os.Looper.loop(Looper.java:148)
06-01 11:52:39.370 19588 19777 E TiApplication: at android.os.HandlerThread.run(HandlerThread.java:61)
06-01 11:52:39.370 19588 19777 E TiApplication: Caused by: java.lang.ClassNotFoundException: Didn't find class "io.intercom.android.sdk.gcm.R$string" on path: DexPathList[[zip file "/data/app/com.xxxxx.xxxxx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxxxx.xxxxx-1/lib/arm, /data/app/com.xxxxx.xxxxx-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
06-01 11:52:39.370 19588 19777 E TiApplication: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
06-01 11:52:39.370 19588 19777 E TiApplication: at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
06-01 11:52:39.370 19588 19777 E TiApplication: at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
06-01 11:52:39.370 19588 19777 E TiApplication: ... 8 more
06-01 11:52:39.370 19588 19777 E TiApplication: Suppressed: java.lang.ClassNotFoundException: io.intercom.android.sdk.gcm.R$string
06-01 11:52:39.370 19588 19777 E TiApplication: at java.lang.Class.classForName(Native Method)
06-01 11:52:39.370 19588 19777 E TiApplication: at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
06-01 11:52:39.370 19588 19777 E TiApplication: at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
06-01 11:52:39.370 19588 19777 E TiApplication: at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
06-01 11:52:39.370 19588 19777 E TiApplication: ... 9 more
06-01 11:52:39.370 19588 19777 E TiApplication: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
--------- beginning of crash
06-01 11:52:39.406 19588 19777 E AndroidRuntime: FATAL EXCEPTION: IntentService[GcmIntentService]
06-01 11:52:39.406 19588 19777 E AndroidRuntime: Process: com.xxxxx.xxxxx, PID: 19588
06-01 11:52:39.406 19588 19777 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string;
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at io.intercom.android.sdk.gcm.models.PushNotification.getTitle(PushNotification.java:79)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at io.intercom.android.sdk.gcm.GcmNotificationBuilder.createSingleNotification(GcmNotificationBuilder.java:47)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at io.intercom.android.sdk.gcm.GcmNotificationManager.createNotification(GcmNotificationManager.java:49)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at io.intercom.android.sdk.gcm.GcmIntentService.onHandleIntent(GcmIntentService.java:58)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:61)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "io.intercom.android.sdk.gcm.R$string" on path: DexPathList[[zip file "/data/app/com.xxxxx.xxxxx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxxxx.xxxxx-1/lib/arm, /data/app/com.xxxxx.xxxxx-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: ... 8 more
06-01 11:52:39.406 19588 19777 E AndroidRuntime: Suppressed: java.lang.ClassNotFoundException: io.intercom.android.sdk.gcm.R$string
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at java.lang.Class.classForName(Native Method)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
06-01 11:52:39.406 19588 19777 E AndroidRuntime: ... 9 more
06-01 11:52:39.406 19588 19777 E AndroidRuntime: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
--------- beginning of system
06-01 11:52:39.408 863 1897 W ActivityManager: Force finishing activity com.xxxxx.xxxxx/org.appcelerator.titanium.TiActivity
Merge your res.zip values into the module platform directory. Here try this one that is working for me:
@centogram @minhnc
Using the platform folder in platform.zip in place of the existing module's platform folder results in the java.lang.NoClassDefFoundError: Failed resolution of: Lio/intercom/android/sdk/gcm/R$string;
error. I also have res.zip unzipped into Resources/platform/android as @minhnc suggested.
I also tried merging the xml in the old values.xml (many more definitions) with the values.xml in res.zip (which has all of the old values removed).
All of that results in the Failed resolution error.
Maybe my tiapp.xml is off somewhere?
.....
<service
android:name="io.intercom.android.sdk.gcm.GcmIntentService"
android:enabled="true" />
<!-- GCM setup -->
<receiver
android:name="io.intercom.android.sdk.gcm.GcmBroadcastReceiver"
android:enabled="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="io.intercom.android.sdk.gcm" />
</intent-filter>
</receiver>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
Here's a screenshot of where I have the new values:
@jsplaine I can confirm the same behavior that when a push is received the No Class Def error is received and my app is crashing. Not sure right now the cause.
@minhnc I think the problem is with the R values and how we defined respackage in the manifest. All of our R values are placed in the namespace io.intercom.android.sdk
and the error is being generated becuase the .gcm R values cannot be found io.intercom.android.sdk.gcm.R$string
Do you know of a way to define multiple respackages so we can reference separate values.xml to cause this not to be found
Perhaps a hook to define the external GCM library this way https://jira.appcelerator.org/browse/TIMOB-11360
@jsplaine @minhnc I was able to compile the separate R file using a hook within the module and now I'm receiving push notifications on the device without crashes. I've committed the changes and created a release with dist you can test in your app. Please test when you have a moment
@centogram Thanks, this gets us past the R file issue! I'm receiving a push now, but the app is crashing in the background with this error. Should I open a separate issue?
When the app is in the background and a push is received:
A push notification is received but before it can be clicked on, the app crashes in the background. Sometimes, the app can not be opened again, instead showing a white screen where a reinstall is the only way to recover. Sometimes the app will open again.
Here's one of a couple different flavors of errors I've seen over several retries. (haven't been able to capture the other error yet).
06-29 11:01:11.771 1053 2001 D TimaService: TimaServiceHandler.handleMessage what =1
06-29 11:01:13.941 400 1973 E NetlinkEvent: NetlinkEvent::FindParam(): Parameter 'UID' not found
06-29 11:01:13.951 3099 3288 W MessageQueue: Handler (com.android.internal.util.StateMachine$SmHandler) {efcd15c} sending message to a Handler on a dead thread
06-29 11:01:13.951 3099 3288 W MessageQueue: java.lang.IllegalStateException: Handler (com.android.internal.util.StateMachine$SmHandler) {efcd15c} sending message to a Handler on a dead thread
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543)
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.enqueueMessage(Handler.java:631)
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.sendMessageAtTime(Handler.java:600)
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.sendMessageDelayed(Handler.java:570)
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.sendMessage(Handler.java:507)
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Registrant.internalNotifyRegistrant(Registrant.java:83)
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.RegistrantList.internalNotifyRegistrants(RegistrantList.java:78)
06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.RegistrantList.notifyRegistrants(RegistrantList.java:104)
06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL.processUnsolicited(RIL.java:3825)
06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.ItsOnRIL.processUnsolicited(ItsOnRIL.java:306)
06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL.processResponse(RIL.java:3011)
06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL.access$700(RIL.java:286)
06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL$RILReceiver.run(RIL.java:740)
06-29 11:01:13.951 3099 3288 W MessageQueue: at java.lang.Thread.run(Thread.java:818)
I'm not running into that problem. Pushes are coming through with all crashes resolved now in foreground and background in with latest sdk on our alloy based project we plan on submitting for release this week.
On Jun 29, 2016, 11:10 AM -0400, James Splainenotifications@github.com, wrote:
@centogram(https://github.com/centogram)Thanks, this gets us past the R file issue! I'm receiving a push now, but the app is crashing in the background with this error...
When the app is in the background and a push is received:
A push notification is received but before it can be clicked on, the app crashes in the background. Sometimes, the app can not be opened again, instead showing a white screen where a reinstall is the only way to recover. Sometimes the app will open again.
Here's one of a couple different flavors of errors I've seen over several retries. (haven't been able to capture the other error yet).
06-29 11:01:11.771 1053 2001 D TimaService: TimaServiceHandler.handleMessage what =1 06-29 11:01:13.941 400 1973 E NetlinkEvent: NetlinkEvent::FindParam(): Parameter 'UID' not found 06-29 11:01:13.951 3099 3288 W MessageQueue: Handler (com.android.internal.util.StateMachine$SmHandler) {efcd15c} sending message to a Handler on a dead thread 06-29 11:01:13.951 3099 3288 W MessageQueue: java.lang.IllegalStateException: Handler (com.android.internal.util.StateMachine$SmHandler) {efcd15c} sending message to a Handler on a dead thread 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543) 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.enqueueMessage(Handler.java:631) 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.sendMessageAtTime(Handler.java:600) 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.sendMessageDelayed(Handler.java:570) 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Handler.sendMessage(Handler.java:507) 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.Registrant.internalNotifyRegistrant(Registrant.java:83) 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.RegistrantList.internalNotifyRegistrants(RegistrantList.java:78) 06-29 11:01:13.951 3099 3288 W MessageQueue: at android.os.RegistrantList.notifyRegistrants(RegistrantList.java:104) 06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL.processUnsolicited(RIL.java:3825) 06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.ItsOnRIL.processUnsolicited(ItsOnRIL.java:306) 06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL.processResponse(RIL.java:3011) 06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL.access$700(RIL.java:286) 06-29 11:01:13.951 3099 3288 W MessageQueue: at com.android.internal.telephony.RIL$RILReceiver.run(RIL.java:740) 06-29 11:01:13.951 3099 3288 W MessageQueue: at java.lang.Thread.run(Thread.java:818)
— You are receiving this because you were mentioned. Reply to this email directly,view it on GitHub(https://github.com/centogram/TiIntercomAndroid/issues/4#issuecomment-229387179), ormute the thread(https://github.com/notifications/unsubscribe/AAM3iW69ph0of0dWBZXXorsB4hpD6aPpks5qQorqgaJpZM4Ifk8T).
First, thanks for creating maintaining this module. It's saved me soooo much time.
Everything is working great except for Push notifications.
After retrieving (via Ti.Cloudpush) a GCM token, calling TiIntercom.setDeviceToken(token, icon) fails with
intercom-sdk-gcm module not found. Please add it to your build.gradle
.See below.
I can easily get my hands on Intercom's copy of its intercom-sdk-gcm, but I'm not at all sure where to put it or how to refer to it once I've put it somewhere...
Let me know if there's any info you need, debug or otherwise, or anything you'd like me to try and report to you.
Code
Adb output