動態加載插件報錯You need to use a Theme.AppCompat theme (or descendant) with this activity.

 E/AndroidRuntime: FATAL EXCEPTION: main
                                                                       Process: com.sf.DarkCalculator, PID: 13063
                                                                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sf.DarkCalculator/androidx.pluginmgr.DynamicActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2955)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030)
                                                                           at android.app.ActivityThread.-wrap11(Unknown Source:0)
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:105)
                                                                           at android.os.Looper.loop(Looper.java:164)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6938)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
                                                                        Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                                                                           at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359)
                                                                           at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328)
                                                                           at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289)
                                                                           at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                           at com.example.gbt.recorder.AudioRecorderActivity.onCreate(AudioRecorderActivity.java:105)
                                                                           at android.app.Activity.performCreate(Activity.java:7174)
                                                                           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1220)
                                                                           at androidx.pluginmgr.delegate.DelegateInstrumentation.callActivityOnCreate(DelegateInstrumentation.java:240)
                                                                           at androidx.pluginmgr.environment.PluginInstrumentation.callActivityOnCreate(PluginInstrumentation.java:153)
                                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908)
                                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3030) 
                                                                           at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696) 
                                                                           at android.os.Handler.dispatchMessage(Handler.java:105) 
                                                                           at android.os.Looper.loop(Looper.java:164) 
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6938) 
                                                                           at java.lang.reflect.Method.invoke(Native Method) 
                                                                           at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) 
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) 

動態加載apk框架使用大神動態加載原理,導入module之後,框架使用方法需要在宿主apk的xml文件中註冊框架的DynamicActivity,拉起插件apk時報以上錯誤,搜索之後提示說需要把activity繼承的AppCompatActivity改爲Activity,但是我的DynamicActivity本身就是繼承的Activity,嘗試了各種辦法均不行以後,發現

宿主apk中在application中

android:theme="@style/AppTheme"

於是去掉application中的這一句,分別在每個宿主的activity中單獨添加,問題解決。

但不是根本方法,後續需要從根本解決

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章