React-native-wechat: android分享不可用

Created on 10 May 2016  ·  8Comments  ·  Source: yorkie/react-native-wechat

您好,我是android客户端,但是用了两个分享的方法都不可以,全是屏幕一闪就结束了,也没有分享,不知道怎么解决?能否帮忙解决一下?

Most helpful comment

好~ 我把过程简要描述一下

  1. 集成完插件后,发现调用分享后屏幕只一闪,并没有跳转到微信。然后查看日志发现05-16 02:05:14.202 996 1016 W WindowManager: Token{95075f5 ActivityRecord{5692edf u0 com.tencent.mm/.plugin.base.stub.WXEntryActivity t3710}} failed creating starting window的异常。
  2. Google了一下,大家都说可能是签名不正确造成的。
  3. 发现自己确实没有在微信开放平台上填写包名签名,因为之前只注册了iOS App。
  4. 正确填写之后发现依然没有用
  5. 删除微信,重新安装后就可以正确的跳转到微信了。

所以,感觉微信应该是在第一次验证完APP ID后,对包名和签名有个缓存。在平台上更新后貌似不能立刻生效,所以最快捷的方法是重装微信

中间省略了一些坎坷的尝试过程,大略是这样~

希望有帮助,谢谢~

All 8 comments

我也遇到同样的问题,logcat中有如下的异常,不知道有没有关系。

05-16 02:05:14.202 996 1016 W WindowManager: Token{95075f5 ActivityRecord{5692edf u0 com.tencent.mm/.plugin.base.stub.WXEntryActivity t3710}} failed creating starting window
05-16 02:05:14.202 996 1016 W WindowManager: android.view.InflateException: Binary XML file line #40: Binary XML file line #40: Error inflating class
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.inflate(LayoutInflater.java:561)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.inflate(LayoutInflater.java:437)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.internal.policy.PhoneWindow.generateLayout(PhoneWindow.java:4064)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.internal.policy.PhoneWindow.installDecor(PhoneWindow.java:4147)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.internal.policy.PhoneWindow.getDecorView(PhoneWindow.java:2009)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.server.policy.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:2619)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.server.policy.HwPhoneWindowManager.addStartingWindow(HwPhoneWindowManager.java:584)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:8468)
05-16 02:05:14.202 996 1016 W WindowManager: at android.os.Handler.dispatchMessage(Handler.java:102)
05-16 02:05:14.202 996 1016 W WindowManager: at android.os.Looper.loop(Looper.java:150)
05-16 02:05:14.202 996 1016 W WindowManager: at android.os.HandlerThread.run(HandlerThread.java:61)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.server.ServiceThread.run(ServiceThread.java:46)
05-16 02:05:14.202 996 1016 W WindowManager: Caused by: android.view.InflateException: Binary XML file line #40: Error inflating class
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.createView(LayoutInflater.java:672)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:791)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:731)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.rInflate(LayoutInflater.java:862)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:825)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.rInflate(LayoutInflater.java:865)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:825)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.inflate(LayoutInflater.java:537)
05-16 02:05:14.202 996 1016 W WindowManager: ... 12 more
05-16 02:05:14.202 996 1016 W WindowManager: Caused by: java.lang.reflect.InvocationTargetException
05-16 02:05:14.202 996 1016 W WindowManager: at java.lang.reflect.Constructor.newInstance(Native Method)
05-16 02:05:14.202 996 1016 W WindowManager: at android.view.LayoutInflater.createView(LayoutInflater.java:641)
05-16 02:05:14.202 996 1016 W WindowManager: ... 19 more
05-16 02:05:14.202 996 1016 W WindowManager: Caused by: android.content.res.Resources$NotFoundException: File r/o/nr.xml from drawable resource ID #0x7f04069b
05-16 02:05:14.202 996 1016 W WindowManager: at android.content.res.Resources.loadDrawableForCookie(Resources.java:2723)
05-16 02:05:14.202 996 1016 W WindowManager: at android.content.res.Resources.loadDrawable(Resources.java:2619)
05-16 02:05:14.202 996 1016 W WindowManager: at android.content.res.HwResources.loadDrawable(HwResources.java:727)
05-16 02:05:14.202 996 1016 W WindowManager: at android.content.res.TypedArray.getDrawable(TypedArray.java:912)
05-16 02:05:14.202 996 1016 W WindowManager: at com.android.internal.widget.ActionBarView.(ActionBarView.java:172)
05-16 02:05:14.202 996 1016 W WindowManager: ... 21 more
05-16 02:05:14.202 996 1016 W WindowManager: Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #8: tag requires a 'drawable' attribute or child tag defining a drawable
05-16 02:05:14.202 996 1016 W WindowManager: at android.graphics.drawable.LayerDrawable.inflateLayers(LayerDrawable.java:250)
05-16 02:05:14.202 996 1016 W WindowManager: at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:164)
05-16 02:05:14.202 996 1016 W WindowManager: at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1223)
05-16 02:05:14.202 996 1016 W WindowManager: at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1126)
05-16 02:05:14.202 996 1016 W WindowManager: at android.content.res.Resources.loadDrawableForCookie(Resources.java:2713)
05-16 02:05:14.202 996 1016 W WindowManager: ... 25 more

我的问题已经解决了,应该是签名以及微信缓存的问题。

@Leon1108 可以分享一下你的解决方案给 @shiguoqing 么~?

@Leon1108 能否具体的说一下签名和缓存问题如何解决,还有注意事项?谢谢啦

好~ 我把过程简要描述一下

  1. 集成完插件后,发现调用分享后屏幕只一闪,并没有跳转到微信。然后查看日志发现05-16 02:05:14.202 996 1016 W WindowManager: Token{95075f5 ActivityRecord{5692edf u0 com.tencent.mm/.plugin.base.stub.WXEntryActivity t3710}} failed creating starting window的异常。
  2. Google了一下,大家都说可能是签名不正确造成的。
  3. 发现自己确实没有在微信开放平台上填写包名签名,因为之前只注册了iOS App。
  4. 正确填写之后发现依然没有用
  5. 删除微信,重新安装后就可以正确的跳转到微信了。

所以,感觉微信应该是在第一次验证完APP ID后,对包名和签名有个缓存。在平台上更新后貌似不能立刻生效,所以最快捷的方法是重装微信

中间省略了一些坎坷的尝试过程,大略是这样~

希望有帮助,谢谢~

我也遇到了Android端分享闪退的情况。但是重装了微信还是没用哎。。。肿么破

@dongrenguang 你还真试了啊,实际产品也不可能让用户从装微信啊,我估计是你微信签名的问题,你再试一下,我暂时也还没试通

我解决了,是我在微信开放平台注册的应用的签名写的有问题导致的分享不了的问题,如何查看手机中已经安装的应用的签名请看网址:http://www.cnblogs.com/ayanmw/p/3721858.html

需要用一个小工具,请下载安装到手机中:https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk

Was this page helpful?
0 / 5 - 0 ratings