预验证类中的 java.lang.IllegalAccessError 类引用解析为意外实现

2024-01-23

当我按下启动 MainActivity 中应该启动新活动的方法的按钮时,出现“预验证类中的 java.lang.IllegalAccessError 类引用解析为意外实现”错误。我可以做什么来解决这个问题?这是我第一次尝试制作 Android 应用程序,因此需要逐步说明:)

另外,我还无法测试它是否有效,但如果您发现我的 Augie Activity 服务实现或本地广播实现有任何问题,请随时告诉我。

Thanks!

仅供参考:MainActivity 启动 Navigation Activity,从而启动 Service AugiActivity

Augi 活动向 Navigation 发送本地广播消息

LogCat:

03-24 20:01:56.632: E/AndroidRuntime(11183): FATAL EXCEPTION: main
03-24 20:01:56.632: E/AndroidRuntime(11183): java.lang.IllegalStateException: Could not     
execute method of the activity
03-24 20:01:56.632: E/AndroidRuntime(11183): at 
android.view.View$1.onClick(View.java:2154)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
android.view.View.performClick(View.java:2537)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
android.view.View$PerformClick.run(View.java:9157)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
android.os.Handler.handleCallback(Handler.java:587)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
android.os.Handler.dispatchMessage(Handler.java:92)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
android.os.Looper.loop(Looper.java:130)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
android.app.ActivityThread.main(ActivityThread.java:3687)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
java.lang.reflect.Method.invokeNative(Native Method)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
java.lang.reflect.Method.invoke(Method.java:507)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at   
dalvik.system.NativeStart.main(Native Method)
03-24 20:01:56.632: E/AndroidRuntime(11183): Caused by:   
java.lang.reflect.InvocationTargetException
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
java.lang.reflect.Method.invokeNative(Native Method)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
java.lang.reflect.Method.invoke(Method.java:507)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
android.view.View$1.onClick(View.java:2149)
03-24 20:01:56.632: E/AndroidRuntime(11183):    ... 11 more
03-24 20:01:56.632: E/AndroidRuntime(11183): Caused by: java.lang.NoClassDefFoundError: 
com.example.augi_practice.Navigation
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
com.example.augi_practice.MainActivity.navigation(MainActivity.java:33)
03-24 20:01:56.632: E/AndroidRuntime(11183):    ... 14 more
03-24 20:01:56.632: E/AndroidRuntime(11183): Caused by: java.lang.IllegalAccessError: 
Class ref in pre-verified class resolved to unexpected implementation
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
dalvik.system.DexFile.defineClass(Native Method)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
dalvik.system.DexFile.loadClassBinaryName(DexFile.java:207)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
dalvik.system.PathClassLoader.findClass(PathClassLoader.java:200)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
java.lang.ClassLoader.loadClass(ClassLoader.java:551)
03-24 20:01:56.632: E/AndroidRuntime(11183):    at 
java.lang.ClassLoader.loadClass(ClassLoader.java:511)
03-24 20:01:56.632: E/AndroidRuntime(11183):    ... 15 more

XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.augi_practice"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="3"
    android:targetSdkVersion="10" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 


<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.augi_practice.MainActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"   
/>
        </intent-filter>
    </activity>
     <activity
        android:name="com.example.augi_practice.Navigation"
        android:label="@string/title_activity_navigation" 
        android:screenOrientation="landscape" >
    </activity>
    <service
        android:name="com.example.augi_practice.AugiActivity"
        android:label="@string/title_activity_augi"
        android:parentActivityName="com.example.augi_practice.Navigation"
        android:screenOrientation="landscape" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.augi_practice.Navigation" />            
    </service>       
    <uses-library android:name="com.google.android.maps" />    
</application>

</manifest>

主要活动:

package com.example.augi_practice;

import ioio.lib.util.android.IOIOActivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

public void call_ioio(View v)
{   
    Intent intent = new Intent(this, AugiActivity.class);
    startActivity(intent);
}

public void navigation(View v)
{   
    Intent intent = new Intent(this, Navigation.class);
    startActivity(intent);
}

}

导航活动:

package com.example.augi_practice;

// Lots of imports here


public class Navigation extends MapActivity implements Runnable,   
SurfaceHolder.Callback{

String LED = null;
String MAG = null;
String BAR = null;
String GYRO = null;
String EULER = null;    
String GGA = null;

private BroadcastReceiver MessageReceiver = new BroadcastReceiver()
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        LED = intent.getStringExtra("LED");
        MAG = intent.getStringExtra("MAG");
        BAR = intent.getStringExtra("BAR");
        GYRO = intent.getStringExtra("GYRO");
        EULER = intent.getStringExtra("EULER");
        GGA = intent.getStringExtra("GGA");         
    }
};

// More global variables

// Lots of gui variables here

// More global variables

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_navigation);
    MapView mapview = (MapView) findViewById(R.id.mapview);
    mapview.setBuiltInZoomControls(true);   

    getWindow().setFormat(PixelFormat.UNKNOWN);

    // Camera configuration settings

    LocalBroadcastManager.getInstance(this).registerReceiver(MessageReceiver, 
new IntentFilter("IOIOData"));

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

            // Lots of links from acivity to gui 

    startService( new Intent(this, AugiActivity.class));        
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_navigation, menu);
    return true;
}

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
        int height) {
    // TODO Auto-generated method stub

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
    // TODO Auto-generated method stub

}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
    // TODO Auto-generated method stub

}

public void sensorLayer(View v)
{
    // Executes some code
}

public void mapLayer(View v)
{
    // Executes some code
}

public void cameraLayer(View v)
{
    // Executes some code
}   

@Override
public void run() {
    //Executes some code
}   
}

Augi活动的一部分:

package com.example.augi_practice;

//lots of imports here


public class AugiActivity extends Service { 

public Activity activity_name;

class IOIO extends IOIOActivity {   


// Lots of global variables

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    activity_name = this.getParent();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.        
    return true;
}

class Looper extends BaseIOIOLooper {
    /** The on-board LED. */
    // Class variables

    public Activity activity_name;

    Looper(Activity x)
    {
        this.activity_name = x;
    }       

    // More class variables

    /**
    * Called every time a connection with IOIO has been established.
    * Typically used to open pins.
    *   
    * @throws ConnectionLostException
    *             When IOIO connection is lost.
     * @throws InterruptedException 
    * 
    * @see ioio.lib.util.AbstractIOIOActivity.IOIOThread#setup()
    */
        @Override
        protected void setup() throws ConnectionLostException, 
InterruptedException 
        {
            // establish various connections here

            bar_calibration();      
            mag_setup();
            imu_setup();    
            try {
                gps_setup();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        // Various setup methods here

    /**
    * Called repetitively while the IOIO is connected.
    * 
    * @throws ConnectionLostException
    *             When IOIO connection is lost.
     * @throws InterruptedException 
    * 
    * @see ioio.lib.util.AbstractIOIOActivity.IOIOThread#loop()
    */


    @Override
        public void loop() throws ConnectionLostException, 
InterruptedException 
        {           
            get_light();

            get_temp();

            get_pressure();

            get_north();

            get_imu();

            try {
                get_gps();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            led_.write(true);   

            sendMessage();
        }

        // Various methodes to get data

        private void sendMessage()
        {
            Intent intent = new Intent("IOIOData");     

            intent.putExtra("LED", get_LED());

LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);

            intent.putExtra("MAG", get_MAG());

LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);

            intent.putExtra("BAR", get_BAR());

LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);

            intent.putExtra("GYRO", get_GYRO());

LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);

            intent.putExtra("EULER", get_EULER());

LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);

            intent.putExtra("GGA", gps_GGA);

LocalBroadcastManager.getInstance(activity_name).sendBroadcast(intent);
        }
    }

就我而言,我更改了 Intellij Idea 中的项目设置。转到模块 -> 依赖项,然后将库的范围设置为“已提供”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

预验证类中的 java.lang.IllegalAccessError 类引用解析为意外实现 的相关文章

随机推荐

  • `tf.set_random_seed()` 相当于种子操作?

    标题几乎说明了一切 你知道是否存在相当于tf set random seed 用于张量流中的操作种子 我试图在定义为两个不同图形的两个精确神经网络处初始化完全相同的权重 所以我想知道是否有一种方法可以为所有操作全局设置操作种子 而不必为每个
  • 将特殊字符作为消息发送;

    我正在运行 Kannel 将其用作 SMS 网关 但我刚刚意识到手机上没有收到应有的一些特殊符号 和 作为三角形发送 我该如何解决这个问题 可能是字符集问题 短信通常使用 GSM7 字符集接收 并且您提供的字符具有不同的 GSM7 数字代码
  • Conda:创建虚拟环境

    我正在尝试创建一个虚拟环境 我已按照两者的步骤进行操作Conda https conda io docs user guide tasks manage environments html and Medium https medium c
  • gulp-mocha 如何传​​递编译器标志?

    我正在尝试使用gulp mocha 模块 https github com sindresorhus gulp mocha但无法找出传递编译器标志的好方法 有没有办法将其包含在我的 gulp 任务中 也许在一个单独的管道中 从命令行运行摩卡
  • RequireJs 优化器忽略插件

    当我使用优化器时 我想忽略 require js 插件的使用 define css styles css 这总是给我这个错误Cannot read property normalize of undefined 我已将此选项设置为需要优化器
  • 您对 C# 缩小有什么建议吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要缩小一些 Silverlight cs 和 xmal 文件中的一些 C 代码 对于维护一个代码库和
  • Java 构建路径

    我有一个关于在代码运行时更改构建路径的快速问题 例如 我有一个类 它从互联网下载 jar 文件 然后将其放入与运行代码相同的目录中 如果可能的话 如何将 jar 加载到构建路径中以访问 jar 文件中的类 一些建议的修改 评论 去除jar
  • 如何判断Windows上是否安装了Java虚拟机?

    使用代码 如何确定 Windows 中是否安装了 Java VM 及其版本 假设您希望通过批处理文件以编程方式确定这一点 您可以使用reg exe工具 安装在windows system32 这个工具的烦人之处在于 无法让它仅返回退出代码
  • 编译curl后路径问题

    我使用以下命令克隆存储库后编译了curl buildconf configure with libssh2 make sudo make install 但是 在 sudo make install 之后 如果 I run curl V 我
  • Mysql 中的行级锁定

    我的表中有 5 行 1 到 5 我想要第 2 行锁定以进行某些更新 同时如果有人尝试更新第 4 行 那么他应该能够更新 我正在使用下面的代码尝试此操作 但我觉得它将锁定放在表级别而不是行级别 第一节 START TRANSACTION SE
  • iOS 导航栏项目图像大小

    我想定制我的NavigationBar按钮并使用我自己的图像 问题是尺寸应该是多少 我发现按钮大小应该是40 40 所以视网膜图像应该是80 80 这些是尺寸文档 https developer apple com ios human in
  • 如何使用 Pig 从列中解析 JSON 字符串

    我有 tsv 日志文件 其中一列由 json 字符串填充 我想用以下内容解析该列JsonLoader in a Pig脚本 我看到很多例子JsonLoader用于每行只有一个 json 字符串的情况 我还有其他专栏想要跳过 但我不知道该怎么
  • 我们如何设置ContentRootPath和WebRootPath?

    当我们从 IIS 运行我们的应用程序时 我们最终得到以下 ContentRoot 和 WebRoot ContentRoot C MyApp wwwroot WebRoot C MyApp wwwroot wwwroot 这是我们的设置方式
  • CSS 未在 Heroku 中加载

    我将应用程序部署到 Heroku 但仅加载资产 图像 CSS 文件 尤其是包含 90 CSS 的 custom css 未加载 我在本地预编译了资产并将它们推送到 Heroku 但没有成功 仅加载图像 而不加载 custom css 文件
  • p:dataTable 中的 h:selectOneMenu 未提交其值

    我有关于 selectOneMenu 和设置值的问题 我有一张对象示例光盘 其中包含 ID 文本和List
  • 在 C# Windows 窗体中预览 .doc、.docx [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在用 C 开发一个 Windows 窗体项目 现在我可以使用 ToolBox 中的 WebBrow
  • 如何比较车把中的值?

    我想根据条件显示不同的 HTML 它似乎没有比较这两个值 并且总是显示第一个变体 如何将预定义值与 JSON 中的原始值进行比较 以便它可以正确执行 each this each visits div class row if variab
  • 带参数的 Jest Mock Promise

    这是我尝试在 Jest 中编写单元测试的方法 async function getParameter parameter string withDecryption boolean false Promise
  • Jquery,拖放并保存到mysql数据库?

    我在网上找了好久 只找到了inetuts with cookies 它教如何使用Jquery进行拖放 然后保存在cookie中 谁能告诉我如何保存到数据库 php 和 mysql 我非常需要它 EDIT 首先 我不是php初学者 而是AJA
  • 预验证类中的 java.lang.IllegalAccessError 类引用解析为意外实现

    当我按下启动 MainActivity 中应该启动新活动的方法的按钮时 出现 预验证类中的 java lang IllegalAccessError 类引用解析为意外实现 错误 我可以做什么来解决这个问题 这是我第一次尝试制作 Androi