我为Android创建了一个应用程序,它在android市场上运行成功。现在我正在尝试让它在亚马逊应用商店上线,所以我向亚马逊提交了我的应用程序,他们开始对它进行审查。过了一段时间,他们说你的应用程序在特定的时间点崩溃了,5次中有5次。
这是崩溃报告:
11-16 17:47:49.460: E/AndroidRuntime(9627): FATAL EXCEPTION: main
11-16 17:47:49.460: E/AndroidRuntime(9627): java.lang.VerifyError: [package_name].manager.DestinationViewManger
11-16 17:47:49.460: E/AndroidRuntime(9627): at [package_name].activity.SearchScreenActivity.performClickFunctionality(SearchScreenActivity.java)
11-16 17:47:49.460: E/AndroidRuntime(9627): at [package_name].activity.SearchScreenActivity.access$0(SearchScreenActivity.java)
11-16 17:47:49.460: E/AndroidRuntime(9627): at [package_name].activity.SearchScreenActivity$1.onClick(SearchScreenActivity.java)
11-16 17:47:49.460: E/AndroidRuntime(9627): at android.view.View.performClick(View.java:2532)
11-16 17:47:49.460: E/AndroidRuntime(9627): at android.view.View$PerformClick.run(View.java:9277)
11-16 17:47:49.460: E/AndroidRuntime(9627): at android.os.Handler.handleCallback(Handler.java:587)
11-16 17:47:49.460: E/AndroidRuntime(9627): at android.os.Handler.dispatchMessage(Handler.java:92)
11-16 17:47:49.460: E/AndroidRuntime(9627): at android.os.Looper.loop(Looper.java:143)
11-16 17:47:49.460: E/AndroidRuntime(9627): at android.app.ActivityThread.main(ActivityThread.java:4196)
11-16 17:47:49.460: E/AndroidRuntime(9627): at java.lang.reflect.Method.invokeNative(Native Method)
11-16 17:47:49.460: E/AndroidRuntime(9627): at java.lang.reflect.Method.invoke(Method.java:507)
11-16 17:47:49.460: E/AndroidRuntime(9627): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-16 17:47:49.460: E/AndroidRuntime(9627): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-16 17:47:49.460: E/AndroidRuntime(9627): at dalvik.system.NativeStart.main(Native Method)
11-16 17:47:49.470: W/ActivityManager(1419): Force finishing activity [package_name]/.activity.HomeScreenRepairActivity从这个崩溃日志中,我确信DestinationViewManger类将会出现问题,并且无法解决那个崩溃。
这是在DestinationViewManager类中编写的代码:
public class DestinationViewManger {
private static DestinationViewManger instance = null;
private Boolean flag;
private DestinationViewManger(){
}
public static DestinationViewManger getInstance() {
if (instance == null) {
instance = new DestinationViewManger();
}
return instance;
}
public Boolean getFlag() {
return flag;
}
public void setFlag(Boolean flag) {
this.flag = flag;
}
}请帮帮我,我无法解决这个问题。任何帮助都是非常感谢的。
//之前编辑过,崩溃不会发生在我这一端,但最终我在amazon-appstore团队提供的二进制代码上找到了崩溃。实际上,在amazon-appstore上传.apk文件有一个3步的过程(我希望有人知道这一点)。这些步骤是:(1)上传未签名的二进制文件,(2)从amazon下载处理后的二进制文件,然后,(3)上传签名的二进制文件。
现在,当我安装我在第(3)步中上传的签名.apk文件时,它在我的手机上崩溃了。如果我对我在(1)步骤中上传的二进制文件签名,那么它就不会崩溃。这很疯狂,但它正在发生。
有没有人知道为什么会发生这样的崩溃?此崩溃是由于amazon-appstore处理二进制文件造成的吗??
请帮帮我。
发布于 2011-12-01 14:38:08
我通过改变包的名字删除了crash,它很疯狂,但它对我很有效。之前的包名是application_package_name.manager,我想亚马逊的人也会用同样的包名做一些事情。因此,当我只是随机地做一些事情来移除崩溃,并意外地将包名称从管理器更改为application_package_name.searchmanager时,它就开始工作了。我就是这样的人...
发布于 2011-11-16 21:09:23
public class DestinationViewManger {
private static final DestinationViewManger instance = new DestinationViewManger();
public Boolean flag=false;
// Private constructor prevents instantiation from other classes
private DestinationViewManger(){ }
public static DestinationViewManger getInstance() {
return instance;
}
}//尝试此单例类一次。不需要getter和setter方法
DestinationViewManger dstv;
dstv=DestinationViewManger.getInstance();
dstv.flag=true; //set the value for your flag
boolean whatFlagboo=dstv.flag; //get your flag wherever you wanthttps://stackoverflow.com/questions/8152036
复制相似问题