Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GoogleApiAvailability.getErrorDialog()可以';找不到字符串资源_Java_Android_Google Play Services - Fatal编程技术网

Java GoogleApiAvailability.getErrorDialog()可以';找不到字符串资源

Java GoogleApiAvailability.getErrorDialog()可以';找不到字符串资源,java,android,google-play-services,Java,Android,Google Play Services,我有以下代码: GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance(); String msg = getString(R.string.common_google_play_services_update_text); Log.e(TAG, msg); Dialog errDlg = googleAPI.getErrorDialog(MyActivity.this, result, 1111, listener

我有以下代码:

GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance();
String msg = getString(R.string.common_google_play_services_update_text);
Log.e(TAG, msg);
Dialog errDlg = googleAPI.getErrorDialog(MyActivity.this, result, 1111, listener);
运行此操作时,字符串
common\u google\u play\u services\u update\u text
正确写入
LogCat
,但
getErrorDialog()
引发此异常:

java.lang.NoSuchFieldError:无静态字段 普通\谷歌\播放\服务\更新\课堂上I类文本 Lcom/google/android/gms/R$string;或其超类(声明 “com.google.android.gms.R$string”出现在 /data/app/com.mygame-1/base.apk)

如何修复此问题?

此错误意味着该类没有指定名称的字段。如果应用程序试图访问或修改某个对象的指定字段,而该对象不再具有该字段,则会抛出该字段。通常,此错误由编译器捕获,并且仅当类的定义发生不兼容的更改时,才会在运行时发生

另外,可能您有旧代码引用了重新编译的类文件中不再存在的字段。你可以检查一下

解决方案是清除所有类文件,并从fresh编译所有内容

更新:如果在重新编译所有内容后仍然出现相同的错误,则可能是针对外部库的一个版本进行编译,并在运行时使用另一个版本

您现在需要做的是首先确定导致问题的类(看起来您已经这样做了),然后使用
-verbose:class
命令行选项运行应用程序。它将在您的标准输出上转储大量类加载信息,您将能够找到问题类的确切加载位置


希望这有帮助

代码运行时,字符串common\u google\u play\u services\u update\u text正确写入LogCat。因此,getErrorDialog()必须是一个错误。