Android应用程序在调试中工作,但在发布时不工作
我正在开发一个Android应用程序,当我在发布模式下运行该应用程序时遇到了一个问题。如果我在调试模式下启动应用程序,我会在Logcat中收到此类消息(应用程序不会启动): E/AndroidRuntime:致命异常:GoogleApiHandler 流程:it.planner,PID:27326 java.lang.SecurityException:为了使用模拟模式功能,必须选择app it.planner作为模拟位置 开发人员设置中的应用程序。 在android.os.Parcel.readException(Parcel.java:2008)上 在android.os.Parcel.readException(Parcel.java:1954) 在com.google.android.gms.internal.zzeu.zzb(未知来源:10) 在com.google.android.gms.internal.zzcfa.zzbj(未知来源:9) 在com.google.android.gms.internal.zzcfd.zzbj(未知来源:13) 在com.google.android.gms.internal.zzcfk.zzbj(未知来源:2) 在com.google.android.gms.internal.zzcee.zza(未知来源:4) 位于com.google.android.gms.common.api.internal.zzm.zzb(未知来源:8) 位于com.google.android.gms.common.api.internal.zzc.zza(未知来源:6) 位于com.google.android.gms.common.api.internal.zzbo.zzb(未知来源:9) 位于com.google.android.gms.common.api.internal.zzbo.zzaiw(未知 资料来源:82) 位于com.google.android.gms.common.api.internal.zzbo.onConnected(未知 资料来源:16) 位于com.google.android.gms.common.internal.zzac.onConnected(未知 资料来源:2) 访问com.google.android.gms.common.internal.zzn.zzakr(未知来源:130) 位于com.google.android.gms.common.internal.zze.zzw(未知来源:64) 位于com.google.android.gms.common.internal.zzi.zzaks(未知来源:51) 在com.google.android.gms.common.internal.zzh.handleMessage上(未知 资料来源:270) 位于android.os.Handler.dispatchMessage(Handler.java:109) 位于android.os.Looper.loop(Looper.java:166) 在android.os.HandlerThread.run(HandlerThread.java:65)E/iMonitor:FaultDetect:DUMPTOOL\u PRINTF返回 显然,如果我在开发者选项中选择模拟位置,应用程序就会启动,工作正常 如果我安装了release apk并尝试启动该应用程序,则该应用程序不会启动,我会在Logcat中收到此类消息: E/AndroidRuntime:致命异常:主 流程:it.planner,PID:29448 java.lang.IllegalStateException:在onSaveInstanceState之后无法执行此操作 位于android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:2054) 位于android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2077) 位于android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:678) 位于android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:632) 在it.planner.Home.main菜单(Home.java:374) 在it.planner.Home.computegeLocation(Home.java:487) at it..planner.Home.access$100(Home.java:80) 在it.planner.Home$3$1.onLocationResult(Home.java:344) 在com.google.android.gms.internal.zzcff.zzu(未知来源:4) 位于com.google.android.gms.common.api.internal.zzci.zzb(未知来源:8) 在com.google.android.gms.common.api.internal.zzcj.handleMessage上(未知 资料来源:16) 位于android.os.Handler.dispatchMessage(Handler.java:109) 位于android.os.Looper.loop(Looper.java:166) 位于android.app.ActivityThread.main(ActivityThread.java:7377) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963) 一旦应用程序处于发布模式,就不可能选择模拟位置,因此它不想启动。我已经处理这个问题很多天了。我还尝试在Gradle文件中使用minifyEnabled false,但不起作用 gradle文件如下所示:Android应用程序在调试中工作,但在发布时不工作,android,android-studio,android-fragments,android-gradle-plugin,Android,Android Studio,Android Fragments,Android Gradle Plugin,我正在开发一个Android应用程序,当我在发布模式下运行该应用程序时遇到了一个问题。如果我在调试模式下启动应用程序,我会在Logcat中收到此类消息(应用程序不会启动): E/AndroidRuntime:致命异常:GoogleApiHandler 流程:it.planner,PID:27326 java.lang.SecurityException:为了使用模拟模式功能,必须选择app it.planner作为模拟位置 开发人员设置中的应用程序。 在android.os.Parcel.rea
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
debuggable true
}
}
sourceSets {
main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] }
debug {
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
此问题可能是因为未使用适当的API提交片段事务。寻找
transaction.commit();
并将其替换为
transaction.commitAllowingStateLoss();
这里还有一些讨论:构建.gradle是不相关的。第374行
Home.java
说了什么??