You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin中AppCompatActivity无法调用onCreate问题求助

解决JNI调用AppCompatActivity.onCreate时的实例类型错误问题

我之前也碰到过一模一样的JNI报错,当时折腾了好一阵才找到原因,你可以按下面的步骤逐一排查:

  • 检查Activity的继承与声明一致性
    先确认你的MainActivity确实实打实继承自android.support.v7.app.AppCompatActivity——别不小心写成了androidx.appcompat.app.AppCompatActivity(毕竟你用的是support库,不是AndroidX,这俩不能混)。同时检查AndroidManifest.xml里声明的Activity全类名和实际代码里的包名、类名完全匹配,别出现拼写错误或者包名写错的情况。

  • 清理构建缓存,彻底重新编译
    这种JNI类实例不匹配的问题,十有八九是构建缓存搞的鬼。试试这些操作:

    • 点击Android Studio顶部菜单栏的Build -> Clean Project
    • 接着点Build -> Rebuild Project
    • 要是还不行,直接手动删除项目根目录下的.gradle文件夹和app/build文件夹,然后重启AS再重新构建
  • 排查混淆配置(如果开了混淆)
    错误日志里的md548d3f6682eaea9ae319016469055fba4.MainActivity是混淆后的类名,说明你开了ProGuard/R8。这时候得确保support库的类没被错误混淆,在你的混淆规则文件里加上:

    -keep class android.support.v7.app.AppCompatActivity { *; }
    -keep class 你的实际包名.MainActivity { *; }
    

    把上面的“你的实际包名”换成你MainActivity的真实包名就行,避免父类或者自身被混淆导致类加载异常。

  • 关掉Instant Run功能
    Android Studio的Instant Run有时候会搞出类加载的幺蛾子,尤其是在使用老版本support库的项目里。你可以去File -> Settings -> Build, Execution, Deployment -> Instant Run,把所有相关的勾选框都取消,然后重启AS再运行项目试试。

  • 确认所有support库版本完全统一
    虽然你说AppCompat和设计库版本一致,但还是要检查所有support相关的依赖(比如support-v4、support-annotations这些)都用的是23.0.0.1版本,版本不一致很容易导致类冲突。可以在app的build.gradle里用变量统一管理版本,比如:

    ext {
        supportVersion = '23.0.0.1'
    }
    dependencies {
        implementation "com.android.support:appcompat-v7:$supportVersion"
        implementation "com.android.support:design:$supportVersion"
        implementation "com.android.support:support-v4:$supportVersion"
    }
    
  • 检查多dex配置(如果启用了多dex)
    如果你的项目开启了多dex,要确保MainActivity被包含在主dex里,不然可能会出现父类找不到的情况。配置方式如下:
    在build.gradle里开启多dex:

    android {
        defaultConfig {
            multiDexEnabled true
        }
    }
    dependencies {
        implementation 'com.android.support:multidex:1.0.1'
    }
    

    然后让你的Application类继承MultiDexApplication,或者在Application的attachBaseContext方法里调用MultiDex.install(this)。

内容的提问来源于stack exchange,提问作者divanov42

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:32:14