Giter Site home page Giter Site logo

fcm-for-mojo's People

Contributors

daquexian avatar david082321 avatar haruue avatar milkice233 avatar qixingchen avatar rikkaw avatar scpalpha avatar simonsmh avatar yes1do avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fcm-for-mojo's Issues

第一次使用时需要手动扫码

GOT 502 when "GET /ffm/registration_ids" but no ids in config. It's possibly a logical error.
Open app and setting ->
GET & Receive 502 (nodejs) or timeout (nginx) ->
"Update registration id" Button not showing up ->
Never POST /ffm/update_registration_ids ->
GET & Receive 502 (nodejs) or timeout (nginx) AGAIN

0.2.0 在 Android 7.1.2 上 FC

已在 Shizuku Manager 中给予授权
log 如下

build.board: hammerhead
build.bootloader: HHZ20f
build.brand: google
build.cpu_abi: armeabi-v7a
build.cpu_abi2: armeabi
build.device: hammerhead
build.display: N2G47O
build.fingerprint: google/hammerhead/hammerhead:6.0.1/M4B30Z/3437181:user/release-keys
build.hardware: hammerhead
build.host: virtualpenguin
build.id: N2G47O
build.manufacturer: LGE
build.model: Nexus 5
build.product: hammerhead
build.radio: unknown
build.serial: 065dc5710aca8f51
build.tags: test-keys
build.time: 1494696168000
build.type: user
build.user: nickv
version.codename: REL
version.incremental: eng.nickv.20170513.192248
version.release: 7.1.2
version.sdk_int: 25

06-14 21:42:19.290 D/ZenLog  (4548): intercepted: 0|com.pluscubed.matlog|2131296366|null|10245,alarmsOnly
06-14 21:42:19.295 V/NotificationService(4548): pkg=com.pluscubed.matlog canInterrupt=false intercept=true
06-14 21:42:19.697 I/TWILIGHT(5417): [21:42:19.697, main]: Accessibility skip 
06-14 21:42:19.768 V/NotificationService(4548): pkg=com.internet.speed.meter.lite canInterrupt=false intercept=true
06-14 21:42:20.119 D/AndroidRuntime(18588): >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-14 21:42:20.126 D/AndroidRuntime(18588): CheckJNI is OFF
06-14 21:42:20.181 D/ICU     (18588): No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
06-14 21:42:20.250 I/Radio-JNI(18588): register_android_hardware_Radio DONE
06-14 21:42:20.272 D/AndroidRuntime(18588): Calling main entry com.android.commands.am.Am
06-14 21:42:20.301 D/AndroidRuntime(18595): >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-14 21:42:20.307 D/AndroidRuntime(18595): CheckJNI is OFF
06-14 21:42:20.316 D/AndroidRuntime(18601): >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
06-14 21:42:20.320 D/AndroidRuntime(18588): Shutting down VM
06-14 21:42:20.324 D/AndroidRuntime(18601): CheckJNI is OFF
06-14 21:42:20.383 D/ICU     (18595): No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
06-14 21:42:20.393 D/ICU     (18601): No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
06-14 21:42:20.427 I/SlideTouchEvent(4687): vel=0.002796723, MinimumFlingVelocity=120
06-14 21:42:20.431 I/ActivityManager(4548): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.google.android.apps.nexuslauncher/.NexusLauncherActivity (has extras)} from uid 1000 on display 0
06-14 21:42:20.473 I/Radio-JNI(18601): register_android_hardware_Radio DONE
06-14 21:42:20.494 I/Radio-JNI(18595): register_android_hardware_Radio DONE
06-14 21:42:20.530 D/AndroidRuntime(18601): Calling main entry com.android.commands.am.Am
06-14 21:42:20.549 D/AndroidRuntime(18595): Calling main entry com.android.commands.am.Am
06-14 21:42:20.577 D/WindowWatchService(5423): package changed: com.google.android.googlequicksearchbox
06-14 21:42:20.591 D/NotificationPolicy(5423): com.google.android.googlequicksearchbox
06-14 21:42:20.591 D/NotificationPolicy(5423):  DND mode: 4 suppressedVisualEffects: false
06-14 21:42:20.591 D/WindowWatchService(5423): package changed: com.google.android.apps.nexuslauncher
06-14 21:42:20.600 D/AndroidRuntime(18595): Shutting down VM
06-14 21:42:20.604 D/NotificationPolicy(5423): com.google.android.apps.nexuslauncher
06-14 21:42:20.604 D/NotificationPolicy(5423):  DND mode: 4 suppressedVisualEffects: false
06-14 21:42:20.639 D/AndroidRuntime(18601): Shutting down VM
06-14 21:42:20.708 W/SessionLifecycleManager(5738): Handover failed. Creating new session controller.
06-14 21:42:20.716 I/OptInState(5738): There is a new client and it does not support opt-in. Dropping request.
06-14 21:42:20.724 I/art     (4548): Background partial concurrent mark sweep GC freed 82212(4MB) AllocSpace objects, 76(4MB) LOS objects, 33% free, 20MB/30MB, paused 3.690ms total 252.649ms
06-14 21:42:20.745 V/NotificationService(4548): pkg=flar2.exkernelmanager canInterrupt=false intercept=true
06-14 21:42:20.773 I/MicroDetectionState(5738): Keep running hotword in interactor process
06-14 21:42:20.776 V/NotificationService(4548): pkg=com.internet.speed.meter.lite canInterrupt=false intercept=true
06-14 21:42:20.864 D/ApplicationLoaders(18477): ignored Vulkan layer search path /data/app/com.google.android.gms-2/lib/arm:/system/fake-libs:/data/app/com.google.android.gms-2/base.apk!/lib/armeabi-v7a for namespace 0xb3ae1090
06-14 21:42:20.887 I/TWILIGHT(5417): [21:42:20.887, main]: Accessibility skip 
06-14 21:42:20.891 I/TWILIGHT(5417): [21:42:20.891, main]: Accessibility skip 
06-14 21:42:20.934 V/NativeCrypto(18477): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 259 native methods...
06-14 21:42:20.951 D/ApplicationLoaders(18497): ignored Vulkan layer search path /data/app/com.google.android.gms-2/lib/arm:/system/fake-libs:/data/app/com.google.android.gms-2/base.apk!/lib/armeabi-v7a for namespace 0xb3ae7090
06-14 21:42:20.995 V/NativeCrypto(18497): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 259 native methods...
06-14 21:42:21.004 D/NetworkSecurityConfig(18477): No Network Security Config specified, using platform default
06-14 21:42:21.007 I/ProviderInstaller(18477): Installed default security provider GmsCore_OpenSSL
06-14 21:42:21.055 I/PlaceInferenceEngine(5225): [anon] Changed inference mode: 105
06-14 21:42:21.063 D/NetworkSecurityConfig(18497): No Network Security Config specified, using platform default
06-14 21:42:21.069 I/ProviderInstaller(18497): Installed default security provider GmsCore_OpenSSL
06-14 21:42:21.099 W/OpenGLRenderer(5458): Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...
06-14 21:42:21.218 I/Places  (5225): ?: PlacesBleScanner start() with priority 2
06-14 21:42:21.219 I/PlaceInferenceEngine(5225): [anon] Changed inference mode: 102
06-14 21:42:21.225 D/Error   (5225): ERR: exClass=android.os.StrictMode$StrictModeDiskReadViolation
06-14 21:42:21.225 D/Error   (5225): ERR: exMsg=policy=23068679 violation=2
06-14 21:42:21.225 D/Error   (5225): ERR: file=StrictMode.java
06-14 21:42:21.225 D/Error   (5225): ERR: class=android.os.StrictMode$AndroidBlockGuardPolicy
06-14 21:42:21.225 D/Error   (5225): ERR: method=onReadFromDisk line=1293
06-14 21:42:21.226 D/Error   (5225): ERR: stack=android.os.StrictMode$StrictModeDiskReadViolation: policy=23068679 violation=2
06-14 21:42:21.226 D/Error   (5225): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1293)
06-14 21:42:21.226 D/Error   (5225): 	at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:249)
06-14 21:42:21.226 D/Error   (5225): 	at java.io.File.exists(File.java:780)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ContextImpl.getDataDir(ContextImpl.java:1938)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ContextImpl.getPreferencesDir(ContextImpl.java:466)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:627)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:345)
06-14 21:42:21.226 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.226 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.226 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.226 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.226 D/Error   (5225): 	at akqa.a(:com.google.android.gms:3)
06-14 21:42:21.226 D/Error   (5225): 	at com.google.android.location.reporting.service.ReportingAndroidChimeraService.onCreate(:com.google.android.gms:0)
06-14 21:42:21.226 D/Error   (5225): 	at byx.onCreate(:com.google.android.gms:0)
06-14 21:42:21.226 D/Error   (5225): 	at jda.onCreate(:com.google.android.gms:4)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:3207)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ActivityThread.-wrap5(ActivityThread.java)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1579)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:21.226 D/Error   (5225): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:21.226 D/Error   (5225): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:21.226 D/Error   (5225): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:21.226 D/Error   (5225): # via Binder call with stack:
06-14 21:42:21.226 D/Error   (5225): android.os.StrictMode$LogStackTrace
06-14 21:42:21.226 D/Error   (5225): 	at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1954)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Parcel.readExceptionCode(Parcel.java:1665)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Parcel.readException(Parcel.java:1634)
06-14 21:42:21.226 D/Error   (5225): 	at oz.b(:com.google.android.gms.GoogleCertificates:9)
06-14 21:42:21.226 D/Error   (5225): 	at os.a(:com.google.android.gms.GoogleCertificates:47)
06-14 21:42:21.226 D/Error   (5225): 	at os.<init>(:com.google.android.gms.GoogleCertificates:3)
06-14 21:42:21.226 D/Error   (5225): 	at ot.createFromParcel(:com.google.android.gms.GoogleCertificates:71)
06-14 21:42:21.226 D/Error   (5225): 	at pb.onTransact(:com.google.android.gms.GoogleCertificates:54)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Binder.transact(Binder.java:499)
06-14 21:42:21.226 D/Error   (5225): 	at kwl.isGoogleOrPlatformSigned(:com.google.android.gms:3)
06-14 21:42:21.226 D/Error   (5225): 	at joo.a(:com.google.android.gms:25)
06-14 21:42:21.226 D/Error   (5225): 	at joo.a(:com.google.android.gms:20)
06-14 21:42:21.226 D/Error   (5225): 	at keq.b(:com.google.android.gms:3)
06-14 21:42:21.226 D/Error   (5225): 	at keq.a(:com.google.android.gms:25)
06-14 21:42:21.226 D/Error   (5225): 	at keq.b(:com.google.android.gms:16)
06-14 21:42:21.226 D/Error   (5225): 	at keq.c(:com.google.android.gms:3)
06-14 21:42:21.226 D/Error   (5225): 	at akct.b(:com.google.android.gms:6)
06-14 21:42:21.226 D/Error   (5225): 	at akct.a(:com.google.android.gms:58)
06-14 21:42:21.226 D/Error   (5225): 	at akcu.a(:com.google.android.gms:192)
06-14 21:42:21.226 D/Error   (5225): 	at tpr.b(:com.google.android.gms:22)
06-14 21:42:21.226 D/Error   (5225): 	at too.a(:com.google.android.gms:4)
06-14 21:42:21.226 D/Error   (5225): 	at kit.b(:com.google.android.gms:3)
06-14 21:42:21.226 D/Error   (5225): 	at kjv.b(:com.google.android.gms:14)
06-14 21:42:21.226 D/Error   (5225): 	at kks.b(:com.google.android.gms:7)
06-14 21:42:21.226 D/Error   (5225): 	at kkk.b(:com.google.android.gms:25)
06-14 21:42:21.226 D/Error   (5225): 	at txt.a(:com.google.android.gms:6)
06-14 21:42:21.226 D/Error   (5225): 	at txs.b(:com.google.android.gms:1)
06-14 21:42:21.226 D/Error   (5225): 	at txs.a_(:com.google.android.gms:1)
06-14 21:42:21.226 D/Error   (5225): 	at kvl.a(:com.google.android.gms:20)
06-14 21:42:21.226 D/Error   (5225): 	at kkk.a(:com.google.android.gms:78)
06-14 21:42:21.226 D/Error   (5225): 	at kjy.g(:com.google.android.gms:11)
06-14 21:42:21.226 D/Error   (5225): 	at kjy.a(:com.google.android.gms:34)
06-14 21:42:21.226 D/Error   (5225): 	at kks.a_(:com.google.android.gms:1)
06-14 21:42:21.226 D/Error   (5225): 	at kjg.a_(:com.google.android.gms:0)
06-14 21:42:21.226 D/Error   (5225): 	at kvj.a(:com.google.android.gms:1)
06-14 21:42:21.226 D/Error   (5225): 	at kum.a(:com.google.android.gms:23)
06-14 21:42:21.226 D/Error   (5225): 	at kud.a(:com.google.android.gms:6)
06-14 21:42:21.226 D/Error   (5225): 	at kug.handleMessage(:com.google.android.gms:38)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:21.226 D/Error   (5225): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:21.226 D/Error   (5225): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:21.226 D/Error   (5225): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:21.226 D/Error   (5225): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:21.226 D/Error   (5225): # via Binder call with stack:
06-14 21:42:21.226 D/Error   (5225): android.os.StrictMode$LogStackTrace
06-14 21:42:21.226 D/Error   (5225): 	at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1954)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Parcel.readExceptionCode(Parcel.java:1665)
06-14 21:42:21.226 D/Error   (5225): 	at android.os.Parcel.readException(Parcel.java:163
06-14 21:42:21.226 D/Error   (5225): ERR: TOTAL BYTES WRITTEN: 41352
06-14 21:42:21.226 D/Error   (5225): ERR: exClass=android.os.StrictMode$StrictModeDiskReadViolation
06-14 21:42:21.226 D/Error   (5225): ERR: exMsg=policy=23068679 violation=2
06-14 21:42:21.226 D/Error   (5225): ERR: file=StrictMode.java
06-14 21:42:21.226 D/Error   (5225): ERR: class=android.os.StrictMode$AndroidBlockGuardPolicy
06-14 21:42:21.226 D/Error   (5225): ERR: method=onReadFromDisk line=1293
06-14 21:42:21.227 D/Error   (5225): ERR: stack=android.os.StrictMode$StrictModeDiskReadViolation: policy=23068679 violation=2
06-14 21:42:21.227 D/Error   (5225): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1293)
06-14 21:42:21.227 D/Error   (5225): 	at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:249)
06-14 21:42:21.227 D/Error   (5225): 	at java.io.File.exists(File.java:780)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:512)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ContextImpl.getPreferencesDir(ContextImpl.java:468)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:627)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:345)
06-14 21:42:21.227 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.227 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.227 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.227 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.227 D/Error   (5225): 	at akqa.a(:com.google.android.gms:3)
06-14 21:42:21.227 D/Error   (5225): 	at com.google.android.location.reporting.service.ReportingAndroidChimeraService.onCreate(:com.google.android.gms:0)
06-14 21:42:21.227 D/Error   (5225): 	at byx.onCreate(:com.google.android.gms:0)
06-14 21:42:21.227 D/Error   (5225): 	at jda.onCreate(:com.google.android.gms:4)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:3207)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ActivityThread.-wrap5(ActivityThread.java)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1579)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:21.227 D/Error   (5225): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:21.227 D/Error   (5225): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:21.227 D/Error   (5225): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:21.227 D/Error   (5225): # via Binder call with stack:
06-14 21:42:21.227 D/Error   (5225): android.os.StrictMode$LogStackTrace
06-14 21:42:21.227 D/Error   (5225): 	at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1954)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Parcel.readExceptionCode(Parcel.java:1665)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Parcel.readException(Parcel.java:1634)
06-14 21:42:21.227 D/Error   (5225): 	at oz.b(:com.google.android.gms.GoogleCertificates:9)
06-14 21:42:21.227 D/Error   (5225): 	at os.a(:com.google.android.gms.GoogleCertificates:47)
06-14 21:42:21.227 D/Error   (5225): 	at os.<init>(:com.google.android.gms.GoogleCertificates:3)
06-14 21:42:21.227 D/Error   (5225): 	at ot.createFromParcel(:com.google.android.gms.GoogleCertificates:71)
06-14 21:42:21.227 D/Error   (5225): 	at pb.onTransact(:com.google.android.gms.GoogleCertificates:54)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Binder.transact(Binder.java:499)
06-14 21:42:21.227 D/Error   (5225): 	at kwl.isGoogleOrPlatformSigned(:com.google.android.gms:3)
06-14 21:42:21.227 D/Error   (5225): 	at joo.a(:com.google.android.gms:25)
06-14 21:42:21.227 D/Error   (5225): 	at joo.a(:com.google.android.gms:20)
06-14 21:42:21.227 D/Error   (5225): 	at keq.b(:com.google.android.gms:3)
06-14 21:42:21.227 D/Error   (5225): 	at keq.a(:com.google.android.gms:25)
06-14 21:42:21.227 D/Error   (5225): 	at keq.b(:com.google.android.gms:16)
06-14 21:42:21.227 D/Error   (5225): 	at keq.c(:com.google.android.gms:3)
06-14 21:42:21.227 D/Error   (5225): 	at akct.b(:com.google.android.gms:6)
06-14 21:42:21.227 D/Error   (5225): 	at akct.a(:com.google.android.gms:58)
06-14 21:42:21.227 D/Error   (5225): 	at akcu.a(:com.google.android.gms:192)
06-14 21:42:21.227 D/Error   (5225): 	at tpr.b(:com.google.android.gms:22)
06-14 21:42:21.227 D/Error   (5225): 	at too.a(:com.google.android.gms:4)
06-14 21:42:21.227 D/Error   (5225): 	at kit.b(:com.google.android.gms:3)
06-14 21:42:21.227 D/Error   (5225): 	at kjv.b(:com.google.android.gms:14)
06-14 21:42:21.227 D/Error   (5225): 	at kks.b(:com.google.android.gms:7)
06-14 21:42:21.227 D/Error   (5225): 	at kkk.b(:com.google.android.gms:25)
06-14 21:42:21.227 D/Error   (5225): 	at txt.a(:com.google.android.gms:6)
06-14 21:42:21.227 D/Error   (5225): 	at txs.b(:com.google.android.gms:1)
06-14 21:42:21.227 D/Error   (5225): 	at txs.a_(:com.google.android.gms:1)
06-14 21:42:21.227 D/Error   (5225): 	at kvl.a(:com.google.android.gms:20)
06-14 21:42:21.227 D/Error   (5225): 	at kkk.a(:com.google.android.gms:78)
06-14 21:42:21.227 D/Error   (5225): 	at kjy.g(:com.google.android.gms:11)
06-14 21:42:21.227 D/Error   (5225): 	at kjy.a(:com.google.android.gms:34)
06-14 21:42:21.227 D/Error   (5225): 	at kks.a_(:com.google.android.gms:1)
06-14 21:42:21.227 D/Error   (5225): 	at kjg.a_(:com.google.android.gms:0)
06-14 21:42:21.227 D/Error   (5225): 	at kvj.a(:com.google.android.gms:1)
06-14 21:42:21.227 D/Error   (5225): 	at kum.a(:com.google.android.gms:23)
06-14 21:42:21.227 D/Error   (5225): 	at kud.a(:com.google.android.gms:6)
06-14 21:42:21.227 D/Error   (5225): 	at kug.handleMessage(:com.google.android.gms:38)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:21.227 D/Error   (5225): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:21.227 D/Error   (5225): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:21.227 D/Error   (5225): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:21.227 D/Error   (5225): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:21.227 D/Error   (5225): # via Binder call with stack:
06-14 21:42:21.227 D/Error   (5225): android.os.StrictMode$LogStackTrace
06-14 21:42:21.227 D/Error   (5225): 	at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1954)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Parcel.readExceptionCode(Parcel.java:1665)
06-14 21:42:21.227 D/Error   (5225): 	at android.os.Parcel.readException(Parc
06-14 21:42:21.227 D/Error   (5225): ERR: TOTAL BYTES WRITTEN: 41352
06-14 21:42:21.228 D/Error   (5225): ERR: exClass=android.os.StrictMode$StrictModeDiskReadViolation
06-14 21:42:21.228 D/Error   (5225): ERR: exMsg=policy=23068679 violation=2
06-14 21:42:21.228 D/Error   (5225): ERR: file=StrictMode.java
06-14 21:42:21.228 D/Error   (5225): ERR: class=android.os.StrictMode$AndroidBlockGuardPolicy
06-14 21:42:21.228 D/Error   (5225): ERR: method=onReadFromDisk line=1293
06-14 21:42:21.228 D/Error   (5225): ERR: stack=android.os.StrictMode$StrictModeDiskReadViolation: policy=23068679 violation=2
06-14 21:42:21.228 D/Error   (5225): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1293)
06-14 21:42:21.228 D/Error   (5225): 	at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:249)
06-14 21:42:21.228 D/Error   (5225): 	at java.io.File.exists(File.java:780)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ContextImpl.ensurePrivateDirExists(ContextImpl.java:512)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ContextImpl.getPreferencesDir(ContextImpl.java:468)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ContextImpl.getSharedPreferencesPath(ContextImpl.java:627)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:345)
06-14 21:42:21.228 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.228 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.228 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.228 D/Error   (5225): 	at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:164)
06-14 21:42:21.228 D/Error   (5225): 	at akqa.a(:com.google.android.gms:7)
06-14 21:42:21.228 D/Error   (5225): 	at com.google.android.location.reporting.service.ReportingAndroidChimeraService.onCreate(:com.google.android.gms:0)
06-14 21:42:21.228 D/Error   (5225): 	at byx.onCreate(:com.google.android.gms:0)
06-14 21:42:21.228 D/Error   (5225): 	at jda.onCreate(:com.google.android.gms:4)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ActivityThread.handleCreateService(ActivityThread.java:3207)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ActivityThread.-wrap5(ActivityThread.java)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1579)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:21.228 D/Error   (5225): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:21.228 D/Error   (5225): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:21.228 D/Error   (5225): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:21.228 D/Error   (5225): # via Binder call with stack:
06-14 21:42:21.228 D/Error   (5225): android.os.StrictMode$LogStackTrace
06-14 21:42:21.228 D/Error   (5225): 	at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1954)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Parcel.readExceptionCode(Parcel.java:1665)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Parcel.readException(Parcel.java:1634)
06-14 21:42:21.228 D/Error   (5225): 	at oz.b(:com.google.android.gms.GoogleCertificates:9)
06-14 21:42:21.228 D/Error   (5225): 	at os.a(:com.google.android.gms.GoogleCertificates:47)
06-14 21:42:21.228 D/Error   (5225): 	at os.<init>(:com.google.android.gms.GoogleCertificates:3)
06-14 21:42:21.228 D/Error   (5225): 	at ot.createFromParcel(:com.google.android.gms.GoogleCertificates:71)
06-14 21:42:21.228 D/Error   (5225): 	at pb.onTransact(:com.google.android.gms.GoogleCertificates:54)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Binder.transact(Binder.java:499)
06-14 21:42:21.228 D/Error   (5225): 	at kwl.isGoogleOrPlatformSigned(:com.google.android.gms:3)
06-14 21:42:21.228 D/Error   (5225): 	at joo.a(:com.google.android.gms:25)
06-14 21:42:21.228 D/Error   (5225): 	at joo.a(:com.google.android.gms:20)
06-14 21:42:21.228 D/Error   (5225): 	at keq.b(:com.google.android.gms:3)
06-14 21:42:21.228 D/Error   (5225): 	at keq.a(:com.google.android.gms:25)
06-14 21:42:21.228 D/Error   (5225): 	at keq.b(:com.google.android.gms:16)
06-14 21:42:21.228 D/Error   (5225): 	at keq.c(:com.google.android.gms:3)
06-14 21:42:21.228 D/Error   (5225): 	at akct.b(:com.google.android.gms:6)
06-14 21:42:21.228 D/Error   (5225): 	at akct.a(:com.google.android.gms:58)
06-14 21:42:21.228 D/Error   (5225): 	at akcu.a(:com.google.android.gms:192)
06-14 21:42:21.228 D/Error   (5225): 	at tpr.b(:com.google.android.gms:22)
06-14 21:42:21.228 D/Error   (5225): 	at too.a(:com.google.android.gms:4)
06-14 21:42:21.228 D/Error   (5225): 	at kit.b(:com.google.android.gms:3)
06-14 21:42:21.228 D/Error   (5225): 	at kjv.b(:com.google.android.gms:14)
06-14 21:42:21.228 D/Error   (5225): 	at kks.b(:com.google.android.gms:7)
06-14 21:42:21.228 D/Error   (5225): 	at kkk.b(:com.google.android.gms:25)
06-14 21:42:21.228 D/Error   (5225): 	at txt.a(:com.google.android.gms:6)
06-14 21:42:21.228 D/Error   (5225): 	at txs.b(:com.google.android.gms:1)
06-14 21:42:21.228 D/Error   (5225): 	at txs.a_(:com.google.android.gms:1)
06-14 21:42:21.228 D/Error   (5225): 	at kvl.a(:com.google.android.gms:20)
06-14 21:42:21.228 D/Error   (5225): 	at kkk.a(:com.google.android.gms:78)
06-14 21:42:21.228 D/Error   (5225): 	at kjy.g(:com.google.android.gms:11)
06-14 21:42:21.228 D/Error   (5225): 	at kjy.a(:com.google.android.gms:34)
06-14 21:42:21.228 D/Error   (5225): 	at kks.a_(:com.google.android.gms:1)
06-14 21:42:21.228 D/Error   (5225): 	at kjg.a_(:com.google.android.gms:0)
06-14 21:42:21.228 D/Error   (5225): 	at kvj.a(:com.google.android.gms:1)
06-14 21:42:21.228 D/Error   (5225): 	at kum.a(:com.google.android.gms:23)
06-14 21:42:21.228 D/Error   (5225): 	at kud.a(:com.google.android.gms:6)
06-14 21:42:21.228 D/Error   (5225): 	at kug.handleMessage(:com.google.android.gms:38)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:21.228 D/Error   (5225): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:21.228 D/Error   (5225): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:21.228 D/Error   (5225): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:21.228 D/Error   (5225): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:21.228 D/Error   (5225): # via Binder call with stack:
06-14 21:42:21.228 D/Error   (5225): android.os.StrictMode$LogStackTrace
06-14 21:42:21.228 D/Error   (5225): 	at android.os.StrictMode.readAndHandleBinderCallViolations(StrictMode.java:1954)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Parcel.readExceptionCode(Parcel.java:1665)
06-14 21:42:21.228 D/Error   (5225): 	at android.os.Parcel.readException(Parc
06-14 21:42:21.228 D/Error   (5225): ERR: TOTAL BYTES WRITTEN: 41352
06-14 21:42:21.269 I/Places  (5225): Converted 8 out of 9 WiFi scans
06-14 21:42:21.302 I/art     (5225): Background sticky concurrent mark sweep GC freed 25973(1929KB) AllocSpace objects, 31(1436KB) LOS objects, 30% free, 7MB/10MB, paused 5.448ms total 65.009ms
06-14 21:42:21.409 I/TWILIGHT(5417): [21:42:21.409, main]: Accessibility skip 
06-14 21:42:21.434 I/PlaceInferenceEngine(5225): No beacon scan available - ignoring candidates.
06-14 21:42:21.482 I/TWILIGHT(5417): [21:42:21.482, main]: Accessibility skip 
06-14 21:42:21.491 I/TWILIGHT(5417): [21:42:21.491, main]: Accessibility skip 
06-14 21:42:21.506 I/TWILIGHT(5417): [21:42:21.506, main]: Accessibility skip 
06-14 21:42:21.520 I/TWILIGHT(5417): [21:42:21.520, main]: Accessibility skip 
06-14 21:42:21.638 E/ctxmgr  (5225): [PlaceFenceHelper]NearbyBuffer is null!
06-14 21:42:21.650 W/ctxmgr  (5225): [AclManager]No 2 for (accnt=account#-517948760#, com.google.android.gms(10012):PlacesProducer, vrsn=11056000, 0, 3pPkg = null ,  3pMdlId = null ,  pid = 5225). Was: 3 for 18, account#-517948760#
06-14 21:42:21.779 V/NotificationService(4548): pkg=com.internet.speed.meter.lite canInterrupt=false intercept=true
06-14 21:42:22.280 I/TWILIGHT(5417): [21:42:22.280, main]: Accessibility skip 
06-14 21:42:22.383 I/TWILIGHT(5417): [21:42:22.382, main]: Accessibility skip 
06-14 21:42:22.483 I/TWILIGHT(5417): [21:42:22.483, main]: Accessibility skip 
06-14 21:42:22.520 V/NotificationService(4548): pkg=flar2.exkernelmanager canInterrupt=false intercept=true
06-14 21:42:22.581 I/TWILIGHT(5417): [21:42:22.581, main]: Accessibility skip 
06-14 21:42:22.682 I/TWILIGHT(5417): [21:42:22.682, main]: Accessibility skip 
06-14 21:42:22.782 I/TWILIGHT(5417): [21:42:22.782, main]: Accessibility skip 
06-14 21:42:22.881 I/TWILIGHT(5417): [21:42:22.880, main]: Accessibility skip 
06-14 21:42:22.985 I/TWILIGHT(5417): [21:42:22.985, main]: Accessibility skip 
06-14 21:42:23.080 I/TWILIGHT(5417): [21:42:23.080, main]: Accessibility skip 
06-14 21:42:23.179 I/TWILIGHT(5417): [21:42:23.179, main]: Accessibility skip 
06-14 21:42:23.283 I/TWILIGHT(5417): [21:42:23.283, main]: Accessibility skip 
06-14 21:42:23.383 I/TWILIGHT(5417): [21:42:23.383, main]: Accessibility skip 
06-14 21:42:23.718 W/WindowManager(4548): Attempted to remove non-existing token: android.os.Binder@ba71cf2
06-14 21:42:24.697 I/ActivityManager(4548): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=moe.shizuku.fcmformojo/.MainActivity bnds=[643,844][850,1132] (has extras)} from uid 10034 on display 0
06-14 21:42:24.717 W/WindowManager(4548): Token{ac9584a ActivityRecord{b6d69b5 u0 moe.shizuku.fcmformojo/.MainActivity t36}} failed creating starting window
06-14 21:42:24.717 W/WindowManager(4548): android.content.res.Resources$NotFoundException: Drawable moe.shizuku.fcmformojo:mipmap/ic_launcher_round with resource ID #0x7f0a0003
06-14 21:42:24.717 W/WindowManager(4548): Caused by: android.content.res.Resources$NotFoundException: File res/mipmap-anydpi-v21/ic_launcher_round.xml from drawable resource ID #0x7f0a0003
06-14 21:42:24.717 W/WindowManager(4548): 	at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:725)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.content.res.Resources.getDrawable(Resources.java:771)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.content.Context.getDrawable(Context.java:525)
06-14 21:42:24.717 W/WindowManager(4548): 	at com.android.internal.widget.ToolbarWidgetWrapper.setIcon(ToolbarWidgetWrapper.java:322)
06-14 21:42:24.717 W/WindowManager(4548): 	at com.android.internal.widget.ActionBarOverlayLayout.setIcon(ActionBarOverlayLayout.java:737)
06-14 21:42:24.717 W/WindowManager(4548): 	at com.android.internal.policy.PhoneWindow.installDecor(PhoneWindow.java:2669)
06-14 21:42:24.717 W/WindowManager(4548): 	at com.android.internal.policy.PhoneWindow.getDecorView(PhoneWindow.java:2062)
06-14 21:42:24.717 W/WindowManager(4548): 	at com.android.server.policy.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:3129)
06-14 21:42:24.717 W/WindowManager(4548): 	at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:8438)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.os.HandlerThread.run(HandlerThread.java:61)
06-14 21:42:24.717 W/WindowManager(4548): 	at com.android.server.ServiceThread.run(ServiceThread.java:46)
06-14 21:42:24.717 W/WindowManager(4548): Caused by: android.view.InflateException: Class not found adaptive-icon
06-14 21:42:24.717 W/WindowManager(4548): 	at android.graphics.drawable.DrawableInflater.inflateFromClass(DrawableInflater.java:206)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.graphics.drawable.DrawableInflater.inflateFromXml(DrawableInflater.java:128)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1227)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1200)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:715)
06-14 21:42:24.717 W/WindowManager(4548): 	... 13 more
06-14 21:42:24.717 W/WindowManager(4548): Caused by: java.lang.ClassNotFoundException: Didn't find class "adaptive-icon" on path: DexPathList[[],nativeLibraryDirectories=[/system/priv-app/Settings/lib/arm, /system/priv-app/Settings/Settings.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/lib, /vendor/lib]]
06-14 21:42:24.717 W/WindowManager(4548): 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
06-14 21:42:24.717 W/WindowManager(4548): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
06-14 21:42:24.717 W/WindowManager(4548): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
06-14 21:42:24.717 W/WindowManager(4548): 	at android.graphics.drawable.DrawableInflater.inflateFromClass(DrawableInflater.java:187)
06-14 21:42:24.717 W/WindowManager(4548): 	... 17 more
06-14 21:42:24.727 I/ActivityManager(4548): Start proc 18645:moe.shizuku.fcmformojo/u0a188 for activity moe.shizuku.fcmformojo/.MainActivity
06-14 21:42:24.792 V/NotificationService(4548): pkg=com.internet.speed.meter.lite canInterrupt=false intercept=true
06-14 21:42:24.804 W/System  (18645): ClassLoader referenced unknown path: /data/app/moe.shizuku.fcmformojo-2/lib/arm
06-14 21:42:24.834 E/ActivityManager(4548): Sending non-protected broadcast moe.shizuku.privileged.api.intent.action.TASK_STACK_CHANGED from system uid 0 pkg null
06-14 21:42:24.834 E/ActivityManager(4548): java.lang.Throwable
06-14 21:42:24.834 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:17981)
06-14 21:42:24.834 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18548)
06-14 21:42:24.834 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18639)
06-14 21:42:24.834 E/ActivityManager(4548): 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:500)
06-14 21:42:24.834 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2813)
06-14 21:42:24.834 E/ActivityManager(4548): 	at android.os.Binder.execTransact(Binder.java:565)
06-14 21:42:24.835 D/FirebaseApp(18645): com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
06-14 21:42:24.841 W/DropBoxManagerService(4548): Dropping: system_server_wtf (1049 > 0 bytes)
06-14 21:42:24.843 W/BroadcastQueue(4548): Permission Denial: receiving Intent { act=moe.shizuku.privileged.api.intent.action.TASK_STACK_CHANGED dat=component://moe.shizuku.fcmformojo/moe.shizuku.fcmformojo.MainActivity flg=0x10 } to rikka.nopeeking/.receiver.TaskStackChangedReceiver requires moe.shizuku.privileged.api.permission.RECEIVE_TASK_STACK_CHANGED due to sender null (uid 0)
06-14 21:42:24.851 D/FirebaseApp(18645): com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
06-14 21:42:24.864 I/FA      (18645): App measurement is starting up, version: 11010
06-14 21:42:24.864 I/FA      (18645): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
06-14 21:42:24.875 I/FA      (18645): To enable faster debug mode event logging run:
06-14 21:42:24.875 I/FA      (18645):   adb shell setprop debug.firebase.analytics.app moe.shizuku.fcmformojo
06-14 21:42:24.884 I/FirebaseInitProvider(18645): FirebaseApp initialization successful
06-14 21:42:24.911 D/NetworkSecurityConfig(18645): No Network Security Config specified, using platform default
06-14 21:42:24.952 E/ContentStoreEUAS(5738): Failed to commit the deferred actions
06-14 21:42:24.998 D/AndroidRuntime(18645): Shutting down VM
06-14 21:42:25.000 E/AndroidRuntime(18645): FATAL EXCEPTION: main
06-14 21:42:25.000 E/AndroidRuntime(18645): Process: moe.shizuku.fcmformojo, PID: 18645
06-14 21:42:25.000 E/AndroidRuntime(18645): java.lang.RuntimeException: Unable to start activity ComponentInfo{moe.shizuku.fcmformojo/moe.shizuku.fcmformojo.MainActivity}: android.view.InflateException: Binary XML file line #21: Error inflating class SimpleMenuPreference
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2681)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2742)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.ActivityThread.-wrap12(ActivityThread.java)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1489)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:25.000 E/AndroidRuntime(18645): Caused by: android.view.InflateException: Binary XML file line #21: Error inflating class SimpleMenuPreference
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.b(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.i.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.f.d(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.fcmformojo.c.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.f.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.g.l(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.m.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.r.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.r.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.r.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.m.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.m.b(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.m.e(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.m.e(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.m.m(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.j.f(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.support.a.a.h.onStart(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.Activity.performStart(Activity.java:6699)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2644)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	... 9 more
06-14 21:42:25.000 E/AndroidRuntime(18645): Caused by: java.lang.reflect.InvocationTargetException
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at java.lang.reflect.Constructor.newInstance0(Native Method)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	... 34 more
06-14 21:42:25.000 E/AndroidRuntime(18645): Caused by: android.content.res.Resources$NotFoundException: Drawable moe.shizuku.fcmformojo:drawable/simple_menu_background with resource ID #0x7f060006
06-14 21:42:25.000 E/AndroidRuntime(18645): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v21/simple_menu_background.xml from drawable resource ID #0x7f060006
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:725)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:571)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.content.res.Resources.loadDrawable(Resources.java:858)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at android.content.res.TypedArray.getDrawable(TypedArray.java:928)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.SimpleMenuPreference.<init>(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.SimpleMenuPreference.<init>(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.SimpleMenuPreference.<init>(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at java.lang.reflect.Constructor.newInstance0(Native Method)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.b(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.h.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.i.a(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.f.d(Unknown Source)
06-14 21:42:25.000 E/AndroidRuntime(18645): 	at moe.shizuku.fcmformojo.c.a(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at moe.shizuku.support.preference.f.a(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.g.l(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.m.a(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.r.a(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.r.a(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.r.a(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.m.a(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.m.b(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.m.e(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.m.e(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.m.m(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.j.f(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.support.a.a.h.onStart(Unknown Source)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.app.Activity.performStart(Activity.java:6699)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2644)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2742)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.app.ActivityThread.-wrap12(ActivityThread.java)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1489)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.os.Handler.dispatchMessage(Handler.java:102)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.os.Looper.loop(Looper.java:154)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.app.ActivityThread.main(ActivityThread.java:6171)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at java.lang.reflect.Method.invoke(Native Method)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
06-14 21:42:25.002 E/AndroidRuntime(18645): Caused by: android.view.InflateException: Class not found x
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.graphics.drawable.DrawableInflater.inflateFromClass(DrawableInflater.java:206)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.graphics.drawable.DrawableInflater.inflateFromXml(DrawableInflater.java:128)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1227)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1200)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:715)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	... 42 more
06-14 21:42:25.002 E/AndroidRuntime(18645): Caused by: java.lang.ClassNotFoundException: Didn't find class "x" on path: DexPathList[[zip file "/data/app/moe.shizuku.fcmformojo-2/base.apk"],nativeLibraryDirectories=[/data/app/moe.shizuku.fcmformojo-2/lib/arm, /system/lib, /vendor/lib]]
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	at android.graphics.drawable.DrawableInflater.inflateFromClass(DrawableInflater.java:187)
06-14 21:42:25.002 E/AndroidRuntime(18645): 	... 46 more
06-14 21:42:25.006 W/ActivityManager(4548):   Force finishing activity moe.shizuku.fcmformojo/.MainActivity
06-14 21:42:25.008 W/DropBoxManagerService(4548): Dropping: data_app_crash (10 > 0 bytes)
06-14 21:42:25.013 W/ContextImpl(4548): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:877 com.android.server.am.AppErrors.crashApplicationInner:370 com.android.server.am.AppErrors.crashApplication:305 com.android.server.am.ActivityManagerService.handleApplicationCrashInner:13557 com.android.server.am.ActivityManagerService.handleApplicationCrash:13539 
06-14 21:42:25.018 E/AppCrashReceiver(17753): moe.shizuku.fcmformojo stopped unexpectedly...
06-14 21:42:25.066 I/OpenGLRenderer(4548): Initialized EGL, version 1.4
06-14 21:42:25.066 D/OpenGLRenderer(4548): Swap behavior 1
06-14 21:42:25.079 D/WindowWatchService(5423): package changed: android
06-14 21:42:25.083 D/NotificationPolicy(5423): android
06-14 21:42:25.083 D/NotificationPolicy(5423):  DND mode: 4 suppressedVisualEffects: false
06-14 21:42:25.254 V/NotificationService(4548): pkg=flar2.exkernelmanager canInterrupt=false intercept=true
06-14 21:42:25.333 I/TWILIGHT(5417): [21:42:25.333, main]: Accessibility skip 
06-14 21:42:25.337 I/TWILIGHT(5417): [21:42:25.337, main]: Accessibility skip 
06-14 21:42:25.512 W/ActivityManager(4548): Activity pause timeout for ActivityRecord{b6d69b5 u0 moe.shizuku.fcmformojo/.MainActivity t36 f}
06-14 21:42:25.611 I/MicroDetectionState(5738): Keep running hotword in interactor process
06-14 21:42:25.688 E/ActivityManager(4548): Sending non-protected broadcast moe.shizuku.privileged.api.intent.action.TASK_STACK_CHANGED from system uid 0 pkg null
06-14 21:42:25.688 E/ActivityManager(4548): java.lang.Throwable
06-14 21:42:25.688 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.checkBroadcastFromSystem(ActivityManagerService.java:17981)
06-14 21:42:25.688 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:18548)
06-14 21:42:25.688 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:18639)
06-14 21:42:25.688 E/ActivityManager(4548): 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:500)
06-14 21:42:25.688 E/ActivityManager(4548): 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2813)
06-14 21:42:25.688 E/ActivityManager(4548): 	at android.os.Binder.execTransact(Binder.java:565)
06-14 21:42:25.692 W/PackageManager(4687): Failure retrieving resources for moe.shizuku.fcmformojo: Drawable moe.shizuku.fcmformojo:mipmap/ic_launcher_round with resource ID #0x7f0a0003
06-14 21:42:25.695 W/DropBoxManagerService(4548): Dropping: system_server_wtf (1049 > 0 bytes)
06-14 21:42:25.699 W/BroadcastQueue(4548): Permission Denial: receiving Intent { act=moe.shizuku.privileged.api.intent.action.TASK_STACK_CHANGED dat=component://com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity flg=0x10 } to rikka.nopeeking/.receiver.TaskStackChangedReceiver requires moe.shizuku.privileged.api.permission.RECEIVE_TASK_STACK_CHANGED due to sender null (uid 0)
06-14 21:42:25.803 V/NotificationService(4548): pkg=com.internet.speed.meter.lite canInterrupt=false intercept=true
06-14 21:42:26.425 I/ActivityManager(4548): Start proc 18690:com.github.shadowsocks:bg/u0a155 for service com.github.shadowsocks/.ShadowsocksTileService
06-14 21:42:26.452 I/ActivityManager(4548): Setting hasTopUi=true for pid=4687
06-14 21:42:26.457 D/PhoneStatusBar(4687): disable: < expand ICONS* alerts SYSTEM_INFO* back home recent clock search quick_settings >
06-14 21:42:26.577 I/art     (18690): Starting a blocking GC AddRemoveAppImageSpace
06-14 21:42:26.601 I/art     (4548): Background partial concurrent mark sweep GC freed 37852(1876KB) AllocSpace objects, 4(72KB) LOS objects, 33% free, 20MB/30MB, paused 1.649ms total 197.749ms
06-14 21:42:26.648 D/WindowWatchService(5423): package changed: com.android.systemui
06-14 21:42:26.656 D/NotificationPolicy(5423): com.android.systemui
06-14 21:42:26.656 D/NotificationPolicy(5423):  DND mode: 4 suppressedVisualEffects: false
06-14 21:42:26.732 D/FirebaseApp(18690): com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
06-14 21:42:26.739 D/FirebaseApp(18690): com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
06-14 21:42:26.740 D/FirebaseApp(18690): com.google.android.gms.measurement.AppMeasurement is not linked. Skipping initialization.
06-14 21:42:26.748 I/art     (18718): Starting a blocking GC AddRemoveAppImageSpace

Failed to execute node node/index.js

The error messages are as following:

[root@host server]# node node/index.js

/root/ffmqq/FCM-for-Mojo-0.3.3/server/node/node_modules/http-auth/src/http-auth.js:4
const utils = require('./auth/utils');
^^^^^
SyntaxError: Use of const in strict mode.
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/root/ffmqq/FCM-for-Mojo-0.3.3/server/node/index.js:4:12)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)

My node version:

node --version
v0.10.48

Have known that it's related to the version of node, is there any suggestion to sovle it?

有关群消息@提醒的问题

在群里@单个成员时确实会有提示,但用@全体成员时是没有提示的,有没有解决这个问题的方法呢

get_group_basic_info 出错导致FFM退出

[FFM] /openqq/get_group_basic_info
[FFM] exit
[17/09/02 10:48:36] [info] 捕获到停止信号[INT],准备停止...
[17/09/02 10:48:36] [info] 清除残留的pid文件
[FFM] killing Mojo-Webqq...
/root/serverqq/node/push.js:9
            console.error("[FFM] push failed, error: " + error + " body: " + body + " code: " + response.statusCode);
                                                                                                        ^

TypeError: Cannot read property 'statusCode' of undefined
    at Request.callback [as _callback] (/root/serverqq/node/push.js:9:105)
    at self.callback (/root/serverqq/node/node_modules/request/request.js:188:22)
    at emitOne (events.js:115:13)
    at Request.emit (events.js:210:7)
    at Request.onRequestError (/root/serverqq/node/node_modules/request/request.js:884:8)
    at emitOne (events.js:115:13)
    at ClientRequest.emit (events.js:210:7)
    at TLSSocket.socketErrorListener (_http_client.js:401:9)
    at emitOne (events.js:115:13)
    at TLSSocket.emit (events.js:210:7)

Android 7.0卡死

手机是s7e,首次安装运行成功并且收到了通知,结果过了几分钟APP就卡死,只能显示标题,然后不管是重装app开始重启手机都没有用。。。

请问如何设置https

RT,当前最新版的FFM和那个index.js默认是http连接,我想使用https连接,请问应该如何修改index.js

群组和讨论组@我的消息不会当成好友消息处理

Android 版本:7.1.2 ,LineageOS 14.1
手机型号:MI 5s Plus
app 版本:v0.3.0-alpha2,v0.2.1
Linux 系统:Centos 6.9 64bit
GCM.pl 内容如下:
use Mojo::Webqq;
my $client = Mojo::Webqq->new(log_encoding=>"utf-8");
$client->load("ShowMsg");
$client->load(
'RikkaGCM',
data => {
api_url => 'https://fcm.googleapis.com/fcm/send',
api_key => 'AAAABvjXwsM:APA91bF0X8YKcyTJcUdTLB1lc6Xb-03eIHCLy7PKHCwVYCL6XqEB7eS8o3i0amPOPi-R4i_ldlVtnPcYLtf4DwS4qgTi5Ra8Uyl9pGT02iJDE9Ovc-5dUoNSpgWUUZPn0KN2gJjeYLhO',
registration_ids => ['d_3vbCcV8HI:APA91bHHe7peuFNUuEGkmsxCWYD7U3chE0tVLYFaucSVLHE5nHjC74DD_zzLkIfWDKGOj0g2ko22wxrzT-0y3d7P-E46LT7ioRpfIryv7L4y4m79gnbpoWzUZNvy3iRhLFKyrQ5p3GRt']

...

}
);
$client->load("Openqq",data=>{
listen => [{host=>"0.0.0.0",port=>5000}, ] ,
});
$client->run();
在app上我把群组消息关了,但我无法收到@我的消息。

Failed to resolve: moe.shizuku.support

Failed to resolve: moe.shizuku.support:preference:1.1
Failed to resolve: moe.shizuku.support:support-utils:1.1
Failed to resolve: moe.shizuku.support:privileged-api:23

必须指定 api_key,那么我应该如何指定?

root@FrigidCluttered-VM ffm-server]# node node/index.js
[FFM] client config file: client.json
[FFM] starting Mojo-Webqq...
[]
[FFM] no https configuration found
[FFM] no basic auth configuration found
[FFM] listening 5005
[17/08/25 19:16:09] [info] 当前正在使用 Mojo-Webqq v2.1.2
[17/08/25 19:16:09] [info] 执行插件[ Mojo::Webqq::Plugin::UploadQRcode ]
[17/08/25 19:16:10] [info] 执行插件[ Mojo::Webqq::Plugin::ShowMsg ]
[17/08/25 19:16:10] [info] 执行插件[ Mojo::Webqq::Plugin::Openqq ]
[17/08/25 19:16:10] [info] Listening at "http://127.0.0.1:5003"
Server available at http://127.0.0.1:5003
[17/08/25 19:16:10] [info] 执行插件[ Mojo::Webqq::Plugin::FFM ]
[17/08/25 19:16:10] [fatal] [Mojo::Webqq::Plugin::FFM] 必须指定 api_key at /usr/local/share/perl5/Mojo/Webqq/Util.pm line 279.
[17/08/25 19:16:10] [fatal] Mojo::Webqq::Util::die('Mojo::Webqq=HASH(0x6d0a68)', '[Mojo::Webqq::Plugin::FFM] \x{e5}\x{bf}\x{85}\x{e9}\x{a1}\x{bb}\x{e6}\x{8c}\x{87}\x{e5}\x{ae}\x{9a} api_key') called at /usr/local/share/perl5/Mojo/Webqq/Plugin/FFM.pm line 50
[17/08/25 19:16:10] [fatal] Mojo::Webqq::Plugin::FFM::call('Mojo::Webqq=HASH(0x6d0a68)', 'HASH(0xcf4108)') called at /usr/local/share/perl5/Mojo/Webqq/Plugin.pm line 61
[17/08/25 19:16:10] [fatal] eval {...} called at /usr/local/share/perl5/Mojo/Webqq/Plugin.pm line 60
[17/08/25 19:16:10] [fatal] Mojo::Webqq::Plugin::call('Mojo::Webqq=HASH(0x6d0a68)', 'Mojo::Webqq::Plugin::FFM') called at /usr/local/share/perl5/Mojo/Webqq/Client.pm line 56
[17/08/25 19:16:10] [fatal] Mojo::Webqq::Client::ready('Mojo::Webqq=HASH(0x6d0a68)') called at /usr/local/share/perl5/Mojo/Webqq/Client.pm line 25
[17/08/25 19:16:10] [fatal] Mojo::Webqq::Client::run('Mojo::Webqq=HASH(0x6d0a68)') called at perl/start.pl line 42

TODO

  • 把扫码什么的通知分开
  • 收到二维码时下载,点击通知打开扫码
  • 服务端应该根据应用内设置决定是否发送
  • DND
  • 黑名单
  • 更新头像开单独一页
  • 前台应用检测开单独一页
  • 修当最后一个通知被清除时 同时清除 group summary true 的那个通知
  • 自定义通知图标 / 标题 (先要装到 /system/priv-app)
  • 用奇怪的方法拿到正在运行的应用
  • 直接将 token 交给服务端
  • 更新头像时可以选择只更新缺少的
  • 加入 Google play IAP 来 pay Rikka

请求增加子路径功能

现在服务器的设置似乎只能设置端口和域名(IP),不能设置子目录(e.g. https://xxx.xxx/xxx/)。
我这边想通过nginx反代到站点的某个的子目录,但现有的设置无法支持,希望能够完善相关设置。

无法回复,显示“Failed to connect to /0.0.0.0:5000”

Android 版本:7.1.2 ,LineageOS 14.1
手机型号:MI 5s Plus
app 版本:v0.3.0-alpha2,v0.2.1
Linux 系统:Centos 6.9 64bit
GCM.pl 内容如下:
use Mojo::Webqq;
my $client = Mojo::Webqq->new(log_encoding=>"utf-8");
$client->load("ShowMsg");
$client->load(
'RikkaGCM',
data => {
api_url => 'https://fcm.googleapis.com/fcm/send',
api_key => 'AAAABvjXwsM:APA91bF0X8YKcyTJcUdTLB1lc6Xb-03eIHCLy7PKHCwVYCL6XqEB7eS8o3i0amPOPi-R4i_ldlVtnPcYLtf4DwS4qgTi5Ra8Uyl9pGT02iJDE9Ovc-5dUoNSpgWUUZPn0KN2gJjeYLhO',
registration_ids => ['d_3vbCcV8HI:APA91bHHe7peuFNUuEGkmsxCWYD7U3chE0tVLYFaucSVLHE5nHjC74DD_zzLkIfWDKGOj0g2ko22wxrzT-0y3d7P-E46LT7ioRpfIryv7L4y4m79gnbpoWzUZNvy3iRhLFKyrQ5p3GRt']
# ... #
}
);
$client->load("Openqq",data=>{
listen => [{host=>"0.0.0.0",port=>5000}, ] ,
});
$client->run();

HTTP 502 bad Gateway

客户端上无法接收消息,但显示服务器状态运行中,进入分群组消息或分讨论组消息显示“HTTP 502 bad Gateway”

需要把推送移到 node

node 退出时需要推送一个服务端完全退出的消息,如果 node 和 perl 都写就会怪怪的..

WebQQ.pl存在问题

127.0.0.1需要改成0.0.0.0
大概是作者你在内网机器搞的时候忘了改吧

Can not receive Broadcast on Android O

Background execution not allowed: receiving Intent { act=moe.shizuku.fcmformojo.intent.action.REPLY flg=0x10000010 clip={text/vnd.android.intent I:(has extras)} (has extras) } to moe.shizuku.fcmformojo/.receiver.NotificationReceiver

Broadcast Limitations

Apps that target Android O can no longer register broadcast receivers for implicit broadcasts in their manifest.

1. 无论怎样调还是会有通知震动 2. 群里被@或者被回复不会有通知 3. 群临时会话没有通知

手机:索尼XZ Premium
系统:官方Android 7.1.1

  1. 无论怎样调还是会震
    手机模式:震动模式,有铃声模式也是一样
    设置:
    6f1cc66eb69e4646e888394bbfba9ea2
    震动无论改成啥还是会震,改过优先度还是一样

  2. 群里被@或者被回复(长按指定对话回复)没有通知,在终端看是确实有收到信息,但没推送到手机

  3. 这个不知道是不是Webqq问题,看终端好像也没收到信息,想请问一下如果是Webqq的问题的话应该怎样设置才能收到群临时会话通知

Failed to execute node node/index.js with the latest release(v0.3.4-1)

The Error messages are as following:

[root@pixel node]# node index.js
[FFM] client config file: client.json
[FFM] starting Mojo-Webqq...
[]
[FFM] no https configuration found
[FFM] no basic auth configuration found
[FFM] listening 5005
Can't open perl script "perl/start.pl": No such file or directory

the latest release v0.3.4-1 failed to execute script while older releases work normally...

服务端打印乱码

[17/10/10 00:28:10] [info] 褰撳墠姝e湪浣跨敤 Mojo-Webqq v2.1.4
[17/10/10 00:28:10] [info] 瀹㈡埛绔姞杞絚ookie[ C:\Users\vadon\AppData\Local\Temp\mojo_webqq_cookie_default.dat ]
[17/10/10 00:28:10] [info] 鎵ц鎻掍欢[ Mojo::Webqq::Plugin::UploadQRcode ]
[17/10/10 00:28:10] [info] 鎵ц鎻掍欢[ Mojo::Webqq::Plugin::ShowMsg ]
[17/10/10 00:28:10] [info] 鎵ц鎻掍欢[ Mojo::Webqq::Plugin::Openqq ]
[17/10/10 00:28:10] [info] Listening at "http://127.0.0.1:5003"
Server available at http://127.0.0.1:5003
[17/10/10 00:28:10] [info] 鎵ц鎻掍欢[ Mojo::Webqq::Plugin::FFM ]
[17/10/10 00:28:10] [info] 妫€娴嬪埌鏈€杩戠櫥褰曟椿鍔紝灏濊瘯鐩存帴鎭㈠鐧诲綍...
[17/10/10 00:28:10] [info] 鑾峰彇鏁版嵁楠岃瘉鍙傛暟...
[17/10/10 00:28:10] [info] 灏濊瘯杩涜鐧诲綍(2)...
[17/10/10 00:28:10] [info] 甯愬彿(825236283)鐧诲綍鎴愬姛
[17/10/10 00:28:10] [info] 鏇存柊涓汉淇℃伅...
[17/10/10 00:28:11] [info] 鏇存柊濂藉弸淇℃伅...
[17/10/10 00:28:11] [info] 鏇存柊濂藉弸鎵╁睍淇℃伅...
[17/10/10 00:28:14] [info] 鏇存柊缇ゅ垪琛ㄤ俊鎭?..
[17/10/10 00:28:15] [info] 鏇存柊缇ゅ垪琛ㄦ墿灞曚俊鎭?..
[17/10/10 00:28:15] [info] 鏇存柊璁ㄨ缁勫垪琛ㄤ俊鎭?..
[FFM] /ffm/send
[17/10/10 00:28:15] [info] 寮€濮嬫帴鏀舵秷鎭?..
[17/10/10 00:28:16] [info] 鏇存柊缇ょ粍[ TUT ]淇℃伅
[17/10/10 00:28:16] [info] 鏇存柊缇ょ粍[ TUT ]鎴愬憳鎵╁睍淇℃伅

聊天记录也是乱码

另外,推送老是失败

ffm客户端bug

无论是否配置okhttp验证,ffm客户端都会将请求发到
serv…ip/127.0.0.1:端口号
当然failed to connect to ...了啊
推送可以使用,但无弹窗
回复功能因上述bug无法使用
ffm客户端版本最新alpha2

在Android 8.0下无法收到二维码通知

机型:Bacon
系统:aosp-8.0.0
无法收到二维码通知{GCM推送正常,下面有截图},也就无法点击跳转到tim来扫码,只能手动打开 从Download/FFM/下手动扫码.{手动扫码后消息推送正常通知正常}

screenshot_20170910-182347

log:
--------- beginning of system
09-10 18:14:33.656 1502 2444 D ConnectivityService: reportNetworkConnectivity(100, true) by 10027
09-10 18:14:33.673 19305 19352 D MessagingService: {"type":"3","message":{"sender":"input_qrcode","content":"https://i.loli.net/2017/09/10/59b51089d4358.png","timestamp":1505038465}}
09-10 18:14:33.695 1502 2402 D PackageManager: [707f3408-11ce-431e-94c5-36302472077c] Phase1; resolving
09-10 18:14:33.696 2257 2717 V PackageManager: [707f3408-11ce-431e-94c5-36302472077c] Phase1 called; posting
09-10 18:14:33.696 2257 2257 D PackageManager: [707f3408-11ce-431e-94c5-36302472077c] Phase1 request; prefix: [-1554595840, 285712384]
09-10 18:14:33.697 1502 2402 D PackageManager: [707f3408-11ce-431e-94c5-36302472077c] Phase1; No results matched
09-10 18:14:33.920 2932 2932 W Notification: Use of stream types is deprecated for operations other than volume control
09-10 18:14:33.920 2932 2932 W Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
09-10 18:14:34.005 2295 2307 D MediaProvider: object removed 37857
09-10 18:14:34.097 2295 2295 D MediaScannerReceiver: action: android.intent.action.MEDIA_SCANNER_SCAN_FILE path: /storage/emulated/0/Download/FFM/webqq-qrcode.png
09-10 18:14:34.109 2295 2166 D skia : --- SkAndroidCodec::NewFromStream returned null
09-10 18:14:34.243 19305 2152 W Notification: Use of stream types is deprecated for operations other than volume control
09-10 18:14:34.243 19305 2152 W Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
09-10 18:14:34.246 2295 2295 D MediaScannerReceiver: action: android.intent.action.MEDIA_SCANNER_SCAN_FILE path: /storage/emulated/0/Download/FFM/webqq-qrcode.png
09-10 18:14:34.247 1502 2410 E NotificationService: No Channel found for pkg=moe.shizuku.fcmformojo, channelId=server_channel, id=-10001, tag=null, opPkg=moe.shizuku.fcmformojo, callingUid=10070, userId=0, incomingUserId=0, notificationUid=10070, notification=Notification(channel=server_channel pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x10 color=0xff3f51b5 vis=PRIVATE)
09-10 18:14:34.276 3892 3892 I RenderThread: type=1400 audit(0.0:2811): avc: denied { ioctl } for path="/dev/kgsl-3d0" dev="tmpfs" ino=8279 ioctlcmd=913 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
09-10 18:14:34.276 3892 3892 I RenderThread: type=1400 audit(0.0:2812): avc: denied { read write } for path="/dev/kgsl-3d0" dev="tmpfs" ino=8279 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
09-10 18:14:34.279 1502 3892 I OpenGLRenderer: Initialized EGL, version 1.4
09-10 18:14:34.279 1502 3892 D OpenGLRenderer: Swap behavior 1
09-10 18:14:34.284 1502 3892 W Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
09-10 18:14:34.284 1502 3892 I vndksupport: sphal namespace is not configured for this process. Loading /vendor/lib/hw/gralloc.msm8974.so from the current namespace instead.
09-10 18:14:34.932 2932 2932 W Notification: Use of stream types is deprecated for operations other than volume control
09-10 18:14:34.932 2932 2932 W Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
09-10 18:14:35.944 2932 2932 W Notification: Use of stream types is deprecated for operations other than volume control
09-10 18:14:35.944 2932 2932 W Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
09-10 18:14:36.295 1502 1502 W WindowManager: removeWindowToken: Attempted to remove non-existing token: android.os.Binder@968ae6e
09-10 18:14:36.339 1502 2175 V rsC++ : RS Message thread exiting.
09-10 18:14:36.993 2932 2932 W Notification: Use of stream types is deprecated for operations other than volume control
09-10 18:14:36.993 2932 2932 W Notification: See the documentation of setSound() for what to use instead with android.media.AudioAttributes to qualify your playback use case
09-10 18:14:37.027 16070 16125 I CastDatabase: Saving the database
09-10 18:14:37.028 16070 16125 I SQLiteCastStore: Saving 0 CastNetworkInfo instances, 0 CastDeviceInfo instances, 0 paired guest mode devices.
09-10 18:14:37.104 16070 16125 E SQLiteCastStore: End saving paired guest mode devices

[TODO] transport QR code by Node.js

In the past, we use Mojo::Webqq::Plugin::UploadQRcode module from Mojo WebQQ to upload the QR code to Showfom's public image hosting to download.

Here's my thoughts to open a server that let FFM download from user's own server:

  • Change download path of QR code to perl/qrcode.
  • Mojo WebQQ return a status to Node.js to open a download server.
  • Node.js push a FCM message to notify FFM to download QR code.
  • Mojo WebQQ return a message to notify Node.js that login successful and close download server.

Please assign this issue to me.

讨论组消息报错

输出信息:

[17/11/01 04:40:03] [讨论组消息] ****|***** : ********
[17/11/01 04:40:02] [error] undefined subroutine Mojo::Webqq::Discuss::uid at /usr/local/share/perl/5.20.2/Mojo/Webqq/Discuss.pm line 15.

隔壁mojo我也开了条issue
hexsum/Mojo-Webqq#159

第一次运行正常,但是关掉SSH再打开运行脚本时出现以下情况

module.js:471
throw err;
^

Error: Cannot find module '../client.json'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at new FFMConfig (/root/ffm/node/ffm-config.js:8:21)
at Object. (/root/ffm/node/index.js:12:17)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)

帮助 Rikka 完成关于通知可以具体进入对应聊天

简单的说目标就是获得正常 QQ 发送的通知的 contentIntent 对应的 Intent,然后看看他的 extra 呀什么的是什么。

7.0 以下

开一个 NotificationListenerService,并反射使用 sbn.getNotification().contentIntent.getIntent() 就可以。

7.0 以上

pendingIntent.getIntent(); 实际执行的是
ActivityManagerNative.getDefault() .getIntentForIntentSender(pendingIntent.mTarget);(7.0 开始需要一个系统签名保护的权限)

那就可以用一个绕一下的办法,root 使用 app_process 在启动的进程中使用 ServiceManager.addService 添加一个系统服务,并在其中提供 getIntentForIntentSender,其他应用就可以使用该服务来调用本来无权调用的 API。

已经用这样的方法完成的

  • 普通的 QQ 系列
  • TIM (应该和普通的一样)
  • 国际版系列

检查前台应用自动关闭

只要软件后台被杀了,检查前台应用就会自动关闭,需要手动再次打开,希望尽快修复,系统安卓8.0

FFM.pm 问题

通过链接 https://github.com/RikkaW/FCM-for-Mojo/blob/master/server/plugin/FFM.pm 下载的该文件执行时出错,log 如下

[FFM] client config file: client.json
[FFM] starting Mojo-Webqq...
[]
[FFM] https configuration found
[FFM] no basic auth configuration found
[FFM] listening 5005
[17/08/31 10:53:21] [info] 当前正在使用 Mojo-Webqq v2.1.4
[17/08/31 10:53:21] [info] 执行插件[ Mojo::Webqq::Plugin::UploadQRcode ]
Bareword found where operator expected at /usr/local/share/perl/5.22.1/Mojo/Webqq/Plugin/FFM.pm line 30, near "<title>FCM"
	(Missing operator before FCM?)
[17/08/31 10:53:21] [fatal] 加载插件[ Mojo::Webqq::Plugin::FFM ]失败: Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 40 at /usr/local/share/perl/5.22.1/Mojo/Webqq/Plugin/FFM.pm line 30.
[17/08/31 10:53:21] [fatal] Compilation failed in require at (eval 86) line 2.
[17/08/31 10:53:21] [fatal] 
[17/08/31 10:53:21] [fatal]  at /usr/local/share/perl/5.22.1/Mojo/Webqq/Util.pm line 323.
[17/08/31 10:53:21] [fatal] 	Mojo::Webqq::Util::die(Mojo::Webqq=HASH(0xadff30), "\x{e5}\x{8a}\x{a0}\x{e8}\x{bd}\x{bd}\x{e6}\x{8f}\x{92}\x{e4}\x{bb}\x{b6}[ Mojo::Webqq::Plugin::FFM ]\x{e5}\x{a4}\x{b1}\x{e8}\x{b4}\x{a5}: Unrecognized "...) called at /usr/local/share/perl/5.22.1/Mojo/Webqq/Plugin.pm line 25
[17/08/31 10:53:21] [fatal] 	Mojo::Webqq::Plugin::load(Mojo::Webqq=HASH(0xadff30), "FFM", "data", HASH(0x2709a00)) called at perl/start.pl line 23

安装 Mojo-Webqq 后自带的 FFM.pm 可以正常运行(版本 2.1.4

在Android 8.0.0/8.1.0下应用通知的问题

机型:Bacon
系统:
AOSP-8.0.0 OPR5.170623.007
AOSP-8.1.0 OPD1.170816.012
如果把群组消息的重要程度改成【紧急或者高】 好友消息或者群组消息会有两次通知音
#仔细测试了下 首先把好友消息和群组消息设置成不同提示音

如果群组消息的重要程度改成【紧急】

1-1 好友消息为 【紧急或者高】
来好友的消息 会先来群组的提示音然后接着是好友的提示音并在屏幕上弹出通知
来群消息 会来两次群组的提示音并在屏幕上弹出通知
1-2 好友消息为【中或者低】
来好友的消息 会只来群组的提示音并依然在屏幕上弹出通知
来群消息 会来两次群组的提示音并依然在屏幕上弹出通知

如果群组消息的重要程度改成【高】

2-1 好友消息为【紧急】
来好友的消息 会先来群组的提示音然后接着是好友的提示音并在屏幕上弹出通知
来群消息 会来两次群组的提示音
2-2 好友消息为 【高】
来好友的消息 会先来群组的提示音然后接着是好友的提示音
来群消息 会来两次群组的提示音
2-3 好友消息为 【中或者低】
来好友的消息 会只来群组的提示音
来群消息 会来两次群组的提示音

如果群组消息的重要程度改成【中或者低】 则全部正常

tim 20171029111728

点击已合并的通知时应用 FC

无论为 Shizuku 提权模式或用户使用状况 API 情况下都会复现此问题
使用的是标准版 QQ v7.1.8.3240
log 如下

--------- beginning of crash
08-26 22:03:48.573 16734 16734 E AndroidRuntime: FATAL EXCEPTION: main
08-26 22:03:48.573 16734 16734 E AndroidRuntime: Process: moe.shizuku.fcmformojo, PID: 16734
08-26 22:03:48.573 16734 16734 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver moe.shizuku.fcmformojo.receiver.FFMBroadcastReceiver: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String moe.shizuku.fcmformojo.model.Chat.getName()' on a null object reference
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:3063)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at android.app.ActivityThread.-wrap18(ActivityThread.java)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1573)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:102)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:154)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6171)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:781)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String moe.shizuku.fcmformojo.model.Chat.getName()' on a null object reference
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at moe.shizuku.fcmformojo.g.g.a(Unknown Source)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at moe.shizuku.fcmformojo.receiver.FFMBroadcastReceiver.a(Unknown Source)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at moe.shizuku.fcmformojo.receiver.FFMBroadcastReceiver.onReceive(Unknown Source)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:3056)
08-26 22:03:48.573 16734 16734 E AndroidRuntime: 	... 8 more
08-26 22:03:48.575  2357  3084 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:877 com.android.server.am.AppErrors.crashApplicationInner:370 com.android.server.am.AppErrors.crashApplication:305 com.android.server.am.ActivityManagerService.handleApplicationCrashInner:13557 com.android.server.am.ActivityManagerService.handleApplicationCrash:13539 
08-26 22:03:48.576  2479  2479 W StatusBar: removeNotification for unknown key: 0|moe.shizuku.fcmformojo|493599419|null|10188
08-26 22:03:48.576  2479  2479 W StatusBar: removeNotification for unknown key: 0|moe.shizuku.fcmformojo|428031207|null|10188
08-26 22:03:48.577  2479  2479 W StatusBar: removeNotification for unknown key: 0|moe.shizuku.fcmformojo|162534938|null|10188
08-26 22:03:48.577  2479  2479 W StatusBar: removeNotification for unknown key: 0|moe.shizuku.fcmformojo|518658810|null|10188
08-26 22:03:48.577  2479  2479 W StatusBar: removeNotification for unknown key: 0|moe.shizuku.fcmformojo|389786804|null|10188
08-26 22:03:48.577  2479  2479 W StatusBar: removeNotification for unknown key: 0|moe.shizuku.fcmformojo|437297128|null|10188
08-26 22:03:48.602  2357 17628 W DropBoxManagerService: Dropping: data_app_crash (1472 > 0 bytes)

注意存在 token 变化的情况

比如清除 Google 服务的数据(?)
需要在变了之后通知用户需要重新上传 token(或者直接增加一个更新指定 token 的 API?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.