我的日志中有一个奇怪的错误报告。以下是堆栈跟踪:
Fatal Exception: java.lang.IllegalArgumentException: Invitation id can not be empty.
at android.os.Parcel.readException(Parcel.java:1550/1559/1544/1603)
at android.os.Parcel.readException(Parcel.java:1499/1505/1493/1552)
at com.google.android.gms.internal.zzkn$zza$zza.zza(Unknown Source)
at com.google.android.gms.internal.zzkk.zzgh(Unknown Source)
at com.google.android.gms.internal.zzkj$zzd.zza(Unknown Source)
at com.google.android.gms.internal.zzkj$zzd.zza(Unknown Source)
at com.google.android.gms.internal.zzlx$zza.zzb(Unknown Source)
at com.google.android.gms.internal.zzmd.begin(Unknown Source)
at com.google.android.gms.internal.zzmd.zzb(Unknown Source)
at com.google.android.gms.internal.zzmi.zzb(Unknown Source)
at com.google.android.gms.internal.zzmg.zzb(Unknown Source)
at com.google.android.gms.internal.zzmg.zza(Unknown Source)
at com.google.android.gms.internal.zzme.zzpi(Unknown Source)
at com.google.android.gms.internal.zzme.begin(Unknown Source)
at com.google.android.gms.internal.zzmi.zza(Unknown Source)
at com.google.android.gms.internal.zzlz.onConnected(Unknown Source)
at com.google.android.gms.common.internal.zzj$zzg.zzk(Unknown Source)
at com.google.android.gms.common.internal.zzj$zza.zzqv(Unknown Source)
at com.google.android.gms.common.internal.zzj$zza.zzqv(Unknown Source)
at com.google.android.gms.common.internal.zzj$zzc.zzqx(Unknown Source)
at com.google.android.gms.common.internal.zzj$zzb.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135/211/145/148)
at android.app.ActivityThread.main(ActivityThread.java:5294/5373/5835/5417)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904/1020/1399/726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699/815/1194/616)
我添加了堆栈跟踪的斜线变体,其中只是行号因不同的 android 版本而不同。我正在使用 8.3.0 版的播放服务。如果您有任何想法,请留下答案或评论。自那条消息Invitation id can not be empty当我在 Google 上搜索时没有返回任何结果。
请不要关闭它太快,因为我想在 Google+ 上链接它在 bug tracker 上从 Google 获得反馈。
最佳答案
我刚刚又检查了一些崩溃日志,发现了这个:
Fatal Exception: java.lang.RuntimeException: Unable to start receiver my.package.name.ReferralReceiver: java.lang.IllegalArgumentException: Invitation id can not be empty.
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2680)
at android.app.ActivityThread.access$1700(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1428)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5373)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
Caused by java.lang.IllegalArgumentException: Invitation id can not be empty.
at android.os.Parcel.readException(Parcel.java:1559)
at android.os.Parcel.readException(Parcel.java:1505)
at com.google.android.gms.internal.zzkn$zza$zza.zza(Unknown Source)
at com.google.android.gms.internal.zzkk.zzgh(Unknown Source)
at com.google.android.gms.internal.zzkj$zzd.zza(Unknown Source)
at com.google.android.gms.internal.zzkj$zzd.zza(Unknown Source)
at com.google.android.gms.internal.zzlx$zza.zzb(Unknown Source)
at com.google.android.gms.internal.zzmd.begin(Unknown Source)
at com.google.android.gms.internal.zzmd.zzb(Unknown Source)
at com.google.android.gms.internal.zzmd.begin(Unknown Source)
at com.google.android.gms.internal.zzmi.zza(Unknown Source)
at com.google.android.gms.internal.zzmg.zza(Unknown Source)
at com.google.android.gms.internal.zzkj.convertInvitation(Unknown Source)
at my.package.name.ReferralReceiver.onReceive(ReferralReceiver.java:72)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2673)
at android.app.ActivityThread.access$1700(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1428)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:5373)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)
导致此堆栈跟踪中异常的那行代码是:
AppInvite.AppInviteApi.convertInvitation(getApiClient(), invitationId);
所以我猜测这是相关的,崩溃是由空的 invitationId 引起的。我添加了一个空检查,让我们看看这个崩溃是否会再次出现。
关于android - 邀请id不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261732/
我希望我的UserPrice模型的属性在它们为空或不验证数值时默认为0。这些属性是tax_rate、shipping_cost和price。classCreateUserPrices8,:scale=>2t.decimal:tax_rate,:precision=>8,:scale=>2t.decimal:shipping_cost,:precision=>8,:scale=>2endendend起初,我将所有3列的:default=>0放在表格中,但我不想要这样,因为它已经填充了字段,我想使用占位符。这是我的UserPrice模型:classUserPrice回答before_val
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
因此,当我遵循MichaelHartl的RubyonRails教程时,我注意到在用户表中,我们为:email属性添加了一个唯一索引,以提高find的效率方法,因此它不会逐行搜索。到目前为止,我们一直在根据情况使用find_by_email和find_by_id进行搜索。然而,我们从未为:id属性设置索引。:id是否自动索引,因为它在默认情况下是唯一的并且本质上是顺序的?或者情况并非如此,我应该为:id搜索添加索引吗? 最佳答案 大多数数据库(包括sqlite,这是RoR中的默认数据库)会自动索引主键,对于RailsMigration
print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上
我对此有点困惑。我在RoR项目中的最终目标是从我的数据库中获取单个随机配置文件。我想它应该是这样的:@profile=Profile.find_by_user_id(rand(User.count))它一直抛出错误,因为user_id0不存在,所以我把它的一部分拿出来检查发生了什么:@r=rand(User.count)每次都返回0。发生什么了?我注册了5个假用户和5个相关配置文件来测试这个。如果我将Profile.find_by_user_id(rand(User.count))重写为Profile.find_by_user_id(3)它工作得很好。User.count也在工作。所以
这个问题困扰了我一段时间。这不是一件困难的事情,但我不知道为什么没有简单的方法来做到这一点,我敢打赌有但我没有看到。我只想取一个散列,像这样:cars={:bob=>'Pontiac',:fred=>'Chrysler',:lisa=>'Cadillac',:mary=>'Jaguar'}然后做类似的事情cars[:bob,:lisa]得到{:bob=>'Pontiac',:lisa=>'Cadillac'}我这样做了,效果很好:classHashdefpick(*keys)Hash[select{|k,v|keys.include?(k)}]endendruby-1.8.7-p249
在纯Rubyirb中,不能输入{if:1}。该语句不会终止,因为irb认为if不是符号,而是if语句的开始。那么为什么Rails可以有before_filter接受if作为参数?该指南的代码如下:classOrderunless也会发生同样的事情。 最佳答案 这是一个irb问题,而不是Ruby。bash=>ruby-e"puts({if:1})"bash=#{:if=>1}您可以改用pry。它将正确读取输入。https://github.com/pry/pry 关于ruby-on-rai
Enumerable#each和Enumerable#map的区别在于返回的是接收者还是映射后的结果。回到接收者是微不足道的,你通常不需要在each之后继续一个方法链,比如each{...}.another_method(我可能没见过这样的案例。即使你想回到接收者那里,你也可以通过tap来实现)。所以我认为所有或者大部分使用Enumerable#each的情况都可以用Enumerable#map代替。我错了吗?如果我是对的,each的目的是什么?map是否比each慢?编辑:我知道当您对返回值不感兴趣时使用each是一种常见的做法。我对这种做法是否存在不感兴趣,但感兴趣的是,除了从
capybara找不到在我的cucumber测试中用它的id标记。当我save_and_open_page时,我能够看到该元素.但我无法通过has_css?找到它或find:pry(#)>page.html.scan(/notice_sent/).count=>1pry(#)>page.html.scan(/id=\"notice_sent\"/).count=>1pry(#)>page.find('#notice_sent')Capybara::ElementNotFound:Unabletofindcss"#notice_sent"from/Users/me/.gem/ruby/2
目前我正在使用这个正则表达式从YoutubeURL中提取视频ID:url.match(/v=([^&]*)/)[1]我怎样才能改变它,以便它也可以从这个没有v参数的YoutubeURL获取视频ID:http://www.youtube.com/user/SHAYTARDS#p/u/9/Xc81AajGUMU感谢阅读。编辑:我正在使用ruby1.8.7 最佳答案 对于Ruby1.8.7,这就可以了。url_1='http://www.youtube.com/watch?v=8WVTOUh53QY&feature=feedf'url