我在使用我的应用程序的发行包时遇到以下错误:
E/AndroidRuntime:致命异常:main
java.lang.RuntimeException:无法创建类c.a.f.E的实例
在b.p.y$a.a(:9)
在androidx.fragment.app.fragment.performCreate(:5)
在b.m.a.s.a(:243)
公元前260年
公元前11点
在b.m.a.s.b(:31)
上午11点
凌晨3点
在androidx.appcompat.app.AppCompatActivity.onStart(:1)
在android.app.Activity.performStart上(Activity.java:7157)
在android.app.ActivityThread.handleStartActivity上(ActivityThread.java:2937)
在android.app.servertransaction.TransactionExecutor.performLifecycleSequence上(TransactionExecutor.java:180)
在android.app.servertransaction.TransactionExecutor.cycleToPath上(TransactionExecutor.java:165)
在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
在android.app.ActivityThread$H.handleMessage上(ActivityThread.java:1808)
在android.os.Handler.dispatchMessage上(Handler.java:106)
在android.os.Looper.loop上(Looper.java:193)
在android.app.ActivityThread.main上(ActivityThread.java:6669)
在java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.zygenetinit.main上(zygenetinit.java:858)
原因:java.lang.NoSuchMethodException:[类android.app.Application]
在java.lang.Class.getConstructor0上(Class.java:2327)
在b.p.y$a.a(:5)
在c.a.f.c.onCreate(:14)
在androidx.fragment.app.fragment.performCreate(:5)
在b.m.a.s.a(:243)
公元前260年
公元前11点
上午10点(510分)
在b.m.a.s.b(:31)
在b.m.a.s.g.(:8)
上午11点
凌晨3点
在androidx.appcompat.app.AppCompatActivity.onStart(:1)
在android.app.Instrumentation.callActivityOnStart上(Instrumentation.java:1391)
在android.app.ActivityThread.handleStartActivity上(ActivityThread.java:2937)
在android.app.servertransaction.TransactionExecutor.performLifecycleSequence上(TransactionExecutor.java:180)
在android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
在android.app.ActivityThread$H.handleMessage上(ActivityThread.java:1808)
在android.os.Looper.loop上(Looper.java:193)
在android.app.ActivityThread.main上(ActivityThread.java:6669)
在com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
在com.android.internal.os.zygenetinit.main上(zygenetinit.java:858)
c.a.f.E
映射到
my.package.fragments.ProfileViewModel
. 下面是类的定义:
public class ProfileViewModel extends AndroidViewModel {
private final ContactSpanRepository contactSpanRepository;
private final ProfileRepository profileRepository;
public ProfileViewModel(Application application) {
super(application);
Context context = getApplication().getApplicationContext();
this.contactSpanRepository = ContactSpanRepository.getInstance(context);
this.profileRepository = ProfileRepository.getInstance(context);
}
public LiveData> getContactSpans(Long profileId) {
return contactSpanRepository.getContactSpan(profileId);
}
public LiveData> getProfiles() {
return profileRepository.getProfiles();
}
}
gradle assembleRelease
). 我认为这个问题与创建发布包时运行的优化有关。
我试图禁用R8(
android.enableR8=false
)但我还是有同样的问题。强制将类定义保留在Proguard配置文件中也没有帮助。
使用以下渐变属性:
android.enableJetifier=真
下面是使用的androidx依赖项:
annotationProcessor 'androidx.annotation:annotation:1.0.0-rc02'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-rc01'
implementation "android.arch.work:work-runtime:1.0.0-alpha08"
implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
implementation 'androidx.browser:browser:1.0.0-rc02'
implementation 'androidx.cardview:cardview:1.0.0-rc02'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.exifinterface:exifinterface:1.0.0-rc02'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc02'
implementation 'androidx.recyclerview:recyclerview:1.0.0-rc02'