我的一些用户正在经历崩溃,这是Google Play开发者控制台上的崩溃报告中显示的错误:
无法启动活动组件信息{com.havens1515.autorespond/com.havens1515.autorespond.SettingsMenuNew}:android。应用程序。片段$InstantiationException:无法实例化片段com。havens1515.autorespond。NotificationOptions:确保类名存在,是公共的,并且有一个公共的空构造函数
用户说,当打开上面错误中提到的“设置菜单”(settings menu)中的任何设置菜单时,都会发生这种情况,但我的手机没有遇到崩溃
SettingsMenuNew是一个首选项活动,所有子菜单都是首选项片段
每个首选片段都有一个空构造函数,我不知道还有什么问题。我还看到其他人的问题,它需要newInstance方法,但如果我没有在片段中加入任何其他参数,我认为我真的不需要它。
下面是一些显示这些方法的代码:
public class NotificationOptions extends PreferenceFragment
{
public NotificationOptions()
{
}
public static NotificationOptions newInstance(int title, String message)
{
NotificationOptions f = new NotificationOptions();
return f;
}
...
}
这可能是因为proguard删除了您的片段。
为了复制,构建模糊的APK,在开发者选项中启用“不要保留活动”,打开包含崩溃片段的活动。最小化主页按钮并从最近的应用程序中恢复应用程序。
要在ADT中将proGuard配置与默认配置合并,您应该在project.properties
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
如果您使用Gradle构建系统
buildTypes {
debug {
runProguard false
}
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
proguard-project.txt至少应该包含这些规则
-keep public class * extends android.preference.PreferenceFragment
如果你使用的是支持片段
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.support.v4.app.FragmentActivity
不要忘记${sdk.dir}/tools/proguard/proguard-android中已经包含了一些规则。所以根据你的需要只添加缺失的内容。
我试图调用一个片段,但有时会收到以下错误,即使我的片段中有空构造函数 作为
我在一些设备上遇到了这个问题,并且在我的崩溃分析中出现了一个错误。当应用程序遇到ANR故障并且错误为 无法启动activity ComponentInfo{com.qwykr.dryver.base/com.qwykr.dryver.base.activities.MainActivity}:Android.support.v4.app.fragment$InstantiationExceptio
我有以下错误。我在DailyVerseFrament上添加了构造函数。但它仍然不起作用。我有这个问题超过一个星期了。
我正在使用V4 compat库来使用片段。我有一个片段,它是一个具有公共、空构造函数的顶级类,但仍然,每隔一段时间,我的应用程序就会崩溃,堆栈跟踪中包含: Android支持v4.app。片段$InstantiationException:无法实例化片段com。myapp。看法流量。碎片MyFragment:确保类名存在,是公共的,并且有一个公共的空构造函数
在我的中,我有: 在中,我在回调中调用: 对一些顾客来说,最后一条线是崩溃的。