Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

androidx.fragment.app.Fragment #1050

Open
zhengjirui opened this issue Nov 28, 2022 · 0 comments
Open

androidx.fragment.app.Fragment #1050

zhengjirui opened this issue Nov 28, 2022 · 0 comments

Comments

@zhengjirui
Copy link

问题详细描述 Detailed description of the problem

加载插件Fragment转换异常(插件fragment继承androidx.fragment.app.Fragment)

复现问题步骤 Steps to reproduce the problem

1.插件配置的依赖如下:
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
宿主加载时转换异常:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.stujr.rphost/com.stujr.rphost.PluginFragmentActivity}: java.lang.ClassCastException: class com.stujr.rpplugin2.TestFragment cannot be cast to androidx.fragment.app.Fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3335)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3484)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2068)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7551)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995)
Caused by: java.lang.ClassCastException: class com.stujr.rpplugin2.TestFragment cannot be cast to androidx.fragment.app.Fragment
at java.lang.Class.asSubclass(Class.java:2482)
at com.stujr.rphost.PluginFragmentActivity.onCreate(PluginFragmentActivity.java:25)
at android.app.Activity.performCreate(Activity.java:7893)
at android.app.Activity.performCreate(Activity.java:7880)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3310)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3484) 
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2068) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:224) 
at android.app.ActivityThread.main(ActivityThread.java:7551) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:995) 
2022-11-28 17:40:20.878 6636-6636/? I/Process: Sending signal. PID: 6636 SIG:

  1. compileOnly 'androidx.appcompat:appcompat:1.3.0'
    implementation 'com.google.android.material:material:1.4.0'
    (尝试过用compileOnly,但是项目使用的是appcompat,所以activity 的样式需要以依赖material,才能编译打包,而且如下方式打包 编译报错
    Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.

Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
Could not resolve androidx.appcompat:appcompat:1.3.0.
Required by:
project :app
> Cannot find a version of 'androidx.appcompat:appcompat' that satisfies the version constraints:
Dependency path 'RPPlugin2:app:unspecified' --> 'androidx.appcompat:appcompat:1.3.0'
Constraint path 'RPPlugin2:app:unspecified' --> 'androidx.appcompat:appcompat:{strictly 1.2.0}' because of the following reason: debugRuntimeClasspath uses version 1.2.0
Dependency path 'RPPlugin2:app:unspecified' --> 'com.google.android.material:material:1.4.0' --> 'androidx.appcompat:appcompat:1.1.0'
Dependency path 'RPPlugin2:app:unspecified' --> 'com.google.android.material:material:1.4.0' --> 'androidx.constraintlayout:constraintlayout:2.0.1' --> 'androidx.appcompat:appcompat:1.2.0'

其它重要信息 Other important information

replugin-host-lib/gradle Version:3.0.0
rePlugin-plugin-lib/gradle Version:3.0.0

Android API Version:
Android 手机型号&ROM(Phone model & ROM):

Logcat上下文 Logcat context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant