[英]App Bundle: Can Application class be in a Dynamic Feature module? App bundle crashes
在为 App Bundle 重构您的代码时,自定义 Application 类可以保留在com.android.dynamic-feature
模块中还是应该只在com.android.application
基础模块中?
我看到 base 的合并清单具有自定义 Application 类,但是当我启动应用程序时,我在无限循环中看到下面的错误消息。 模拟器最终崩溃。
具有intent.action.MAIN and LAUNCHER
的 LaunchActivity 是否也应该在com.android.application
模块中,还是可以在com.android.dynamic-feature
模块中?
2020-01-08 15:45:16.134 ? E/<apppackage>: Unknown bits set in runtime_flags: 0x8000
2020-01-08 15:45:16.136 ? W/<apppackage>: Unexpected CPU variant for X86 using defaults: x86
2020-01-08 15:45:16.663 ? I/lowmemorykiller: Suppressed 83 failed kill reports
2020-01-08 15:45:16.781 ? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 923592)
2020-01-08 15:45:16.786 ? E/ActivityManager: Exception thrown during bind of ProcessRecord{a6f5e75 13002:<apppackage>/u0a166}
android.os.TransactionTooLargeException: data parcel size 923592 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(BinderProxy.java:510)
at android.app.IApplicationThread$Stub$Proxy.bindApplication(IApplicationThread.java:1479)
at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:5058)
at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:5180)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2003)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2741)
at android.os.Binder.execTransactInternal(Binder.java:1021)
at android.os.Binder.execTransact(Binder.java:994)
动态功能模块的应用程序类将保留在其内部。
每当您下载该模块时,它都会下载该模块内的所有资源,然后两者的 androidManifest.xml 文件:基本应用程序模块和动态模块将被合并......这仅在使用 aab 实现时有用( Android 应用程序包)。
此外,无论您在何处扩展应用程序类……您都必须实现一种覆盖方法,如下所示……
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
SplitCompat.install(this)
}
确保您在动态功能模块中没有任何启动器活动(因为它会在手机上创建另一个看起来不合适的应用程序图标)。
我早些时候遇到过这个问题,它对我有用......我希望你能得到你的解决方案。 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.