当前位置: 首页 > 知识库问答 >
问题:

升级到Android Studio4,现在报告说主要活动“无法从类android.app.Instrumentation访问”

宋洲
2023-03-14

每次升级都会出现这种情况,通常是因为不同的原因:我刚刚升级到Android Studio 4,我的目标是android 5/Api21以上。这一次,我的活动在启动时崩溃,声称我的主活动“无法从类android.app.Instrumentation访问”

我不确定“android.app.Instrumentation”是什么,或者我的代码中是否有一些要求,依赖项或android工作室需要它。我的主类是公共的,所以它应该可以看到它。

我的类声明如下所示:

public class AnthracitePlayer extends AppCompatActivity

AppCompativity,我认为是我用来删除标题栏的东西,声明如下:

public class AppCompatActivity extends FragmentActivity implements AppCompatCallback,
        TaskStackBuilder.SupportParentable, ActionBarDrawerToggle.DelegateProvider {

我的创建方法是这样开始的:

Override
    public void onCreate(Bundle savedInstanceState)
    {
        Log.d(TAG,"Entered onCreate");
        super.onCreate(savedInstanceState);
        Display display = getWindowManager().getDefaultDisplay();

        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        String displayName = display.getName();

我不确定这些是否会扰乱这个仪器。错误如下:

07-12 14:32:26.251 20528-20528/ /data/app21 D/ResourcesManager:创建新的AssetManager并设置为ActivityThread.java:1422/totga.anthraciteplayerapi21-2/base.apk07-12 14:32:26.341 20528-20528/android.os.Looper.loop21 D/Android运行时:关闭VM 07-12 14:32:26.341 20528-20528/Looper.java:14521 E/Android运行时:致命异常:主进程:android.app.ActivityThread.main21,PID:20528ActivityThread.java:5832:无法实例化活动ComponentInfo{java.lang.reflect.Method.invoke21/java.lang.reflect.Method.invoke}:Method.java:372:com.android.internal.os.ZygoteInit()无法从类android.app.Instrumentation访问ZygoteInit.java:1399(ActivityThread.java:2515)在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723)以android.app.ActivityThread.access900美元(ActivityThread.java:172)以H.handleMessage美元(totga.anthraciteplayerapi)以totga.anthraciteplayerapi(totga.anthraciteplayerapi)在totga.anthraciteplayerapi(java.lang.RuntimeException)在totga.anthraciteplayerapi(本机方法)在totga.anthraciteplayerapi21.AnthracitePlayer(java.lang.IllegalAccessException)totga.anthraciteplayerapi21.AnthracitePlayer美元(android.app.ActivityThread.performLaunchActivity)AnacitePlayer()无法从java. lang. Class. newInstance(Class. java: 1647)的android. app. Instrumentation. newActive(Instrumentation. java: 1079)的android. app. ActivityThread. performLaunchActive(ActivityThread. java: 2505)在android. app. ActivityThread. handleLaunchActive(ActivityThread. java: 2723)的android. app. java: 2505)中访问

共有1个答案

鱼浩荡
2023-03-14

我设法通过将onCreate从“public”更改为“protected”来运行它(尽管我现在遇到了新问题)。我认为发生的事情是,要么是android库中父类中的权限发生了变化,要么是管理访问级别的规则变得更加严格——public应该是两种方式。

 类似资料:
  • 我有以下问题:当我从一个活动返回到另一个活动时,我需要打开菜单的某些元素。例如: 现在,当我在我的活动中单击“向上”时,菜单的第一个元素总是打开的(跑步者被拉到的地方)。我需要打开这样的元素,它是在打开新活动之前打开的。例如,我在Articles菜单元素中选择了一篇文章,在单击new activity之后,我想再次打开Articles元素。我试图通过点击后退按钮来实现这一点: 但没用怎么了?

  • 自从在macOS上升级到Android Studio4.0后,我一直有这个问题。当我试图从Android Studio启动我的应用程序时,我会得到以下错误: 我的项目有一点独特之处在于,默认活动是在我的项目使用的另一个库的清单中定义的,而不是项目本身。在升级之前,这一切都很好,但现在不适合我。当我打开包含依赖项的项目时,它可以正常构建和运行。我已经尝试了以下步骤: 清理项目,重建 使缓存无效并重新

  • 在将 Navicat Monitor 升级到最新的主要版本(例如从 1.x 到 2.x)之前,我们建议你先备份存储库数据库,因为主要升级是不可逆的。 请按照下列步骤 Navicat Monitor: 前往“配置”。 点击“备份、升级或迁移”。 选择“升级到最新的主要版本”。 点击“下载 Monitor 设置 Zip 文件”以备份当前的 Navicat Monitor 设置。 【如果你使用订阅方案,

  • 系统信息: 操作系统:Linux/amd64/3.2.0-4-amd64 Java版本:1.7.021-B11 版本:4.5.2 数据库:MySQL 5.5.41-0+Wheezy1 数据库:URL jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterencoding=utf8&rewriteBatchedStatements=tr

  • 在Mainactive类中,我无法访问gamePanel变量或对象。在程序中稍后的其他类中,它运行良好。我遇到了以下错误: 类主要活动: 类游戏面板:

  • 这是我运行应用程序时的清单文件,上面写着“主活动未在AndroidManifest.xml中声明” 我尝试重建,无效缓存/重启,添加 我昨天做了一个apk,直到那时它工作正常,但今天当我打开它时,它显示了这个错误。 以下是主要活动。JAVA logcat 2019-03-14 17:02:33.4925363-5363/com。基瓦尔。致命异常:AndroadCame。基瓦尔。拉格班达尔,PID: