Android物件:java.lang.NoClassDefFoundError:无法解决以下问题:Lcom/google/android/things/pio/PeripheralManager; [英] Android thing: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/things/pio/PeripheralManager;

查看:131
本文介绍了Android物件:java.lang.NoClassDefFoundError:无法解决以下问题:Lcom/google/android/things/pio/PeripheralManager;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Android事物运行时异常:

Android thing run time exception:

java.lang.NoClassDefFoundError:无法解决以下问题:Lcom/google/android/things/pio/PeripheralManager;

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/things/pio/PeripheralManager;

清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.androidthings.simplepio">

    <application android:allowBackup="true" android:icon="@android:drawable/sym_def_app_icon"
        android:name="android.support.multidex.MultiDexApplication"
        android:label="@string/app_name">
        <uses-library android:name="com.google.android.things"/>
        <activity android:name=".BlinkActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <!-- Launch activity automatically on boot -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.IOT_LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

错误日志:

    01-01 00:00:53.293 1326-1326/com.example.androidthings.simplepio E/AndroidRuntime: FATAL EXCEPTION: main
   Process: com.example.androidthings.simplepio, PID: 1326
   java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/things/pio/PeripheralManager;
       at com.example.androidthings.simplepio.BlinkActivity.onCreate(BlinkActivity.java:51)
       at android.app.Activity.performCreate(Activity.java:7000)
       at android.app.Activity.performCreate(Activity.java:6991)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
       at android.app.ActivityThread.-wrap11(Unknown Source:0)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6494)
       at java.lang.reflect.Method.invoke(Native Method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.things.pio.PeripheralManager" on path: DexPathList[[zip file "/system/framework/com.google.android.things.jar", zip file "/data/app/com.example.androidthings.simplepio-y-kMOBHPpOQbWFdWf4QeXw==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.androidthings.simplepio-y-kMOBHPpOQbWFdWf4QeXw==/lib/arm, /system/lib, /vendor/lib]]
       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
       at com.example.androidthings.simplepio.BlinkActivity.onCreate(BlinkActivity.java:51) 
       at android.app.Activity.performCreate(Activity.java:7000) 
       at android.app.Activity.performCreate(Activity.java:6991) 
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) 
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731) 
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856) 
       at android.app.ActivityThread.-wrap11(Unknown Source:0) 
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589) 
       at android.os.Handler.dispatchMessage(Handler.java:106) 
       at android.os.Looper.loop(Looper.java:164) 
       at android.app.ActivityThread.main(ActivityThread.java:6494) 
       at java.lang.reflect.Method.invoke(Native Method) 
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
       at com.android.internal.os.ZygoteInit.main(ZygoteIncode,807) 
    01-01 00:00:53.446 1326-1326/com.example.androidthings.simplepio I/Process: Sending signal. PID: 1326 SIG: 9

这是我的代码,我是从链接 获得的,我只是克隆了它而已.

This is my code, I got this from this Link, I just clone it nothing changed.

public class BlinkActivity extends Activity {
private static final String TAG = BlinkActivity.class.getSimpleName();
private static final int INTERVAL_BETWEEN_BLINKS_MS = 1000;

private Handler mHandler = new Handler();
private Gpio mLedGpio;
private boolean mLedState = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.i(TAG, "Starting BlinkActivity");

    try {
        String pinName = BoardDefaults.getGPIOForLED();
        mLedGpio = PeripheralManager.getInstance().openGpio(pinName);
        mLedGpio.setDirection(Gpio.DIRECTION_OUT_INITIALLY_LOW);
        Log.i(TAG, "Start blinking LED GPIO pin");
        // Post a Runnable that continuously switch the state of the GPIO, blinking the
        // corresponding LED
        mHandler.post(mBlinkRunnable);
    } catch (IOException e) {
        Log.e(TAG, "Error on PeripheralIO API", e);
    }
}

@Override
protected void onDestroy() {
    super.onDestroy();
    // Remove pending blink Runnable from the handler.
    mHandler.removeCallbacks(mBlinkRunnable);
    // Close the Gpio pin.
    Log.i(TAG, "Closing LED GPIO pin");
    try {
        mLedGpio.close();
    } catch (IOException e) {
        Log.e(TAG, "Error on PeripheralIO API", e);
    } finally {
        mLedGpio = null;
    }
}

private Runnable mBlinkRunnable = new Runnable() {
    @Override
    public void run() {
        // Exit Runnable if the GPIO is already closed
        if (mLedGpio == null) {
            return;
        }
        try {
            // Toggle the GPIO state
            mLedState = !mLedState;
            mLedGpio.setValue(mLedState);
            Log.d(TAG, "State set to " + mLedState);

            // Reschedule the same runnable in {#INTERVAL_BETWEEN_BLINKS_MS} milliseconds
            mHandler.postDelayed(mBlinkRunnable, INTERVAL_BETWEEN_BLINKS_MS);
        } catch (IOException e) {
            Log.e(TAG, "Error on PeripheralIO API", e);
        }
    }
};
}

如果有解决此问题的方法,请帮助我.

If any solve this problem, Please help me.

推荐答案

我通过更新Android Things解决了此问题.我使用新的设置实用程序工具来刷新我的Android Things: https://partner.android.com/things/console/u/1/#/tools

I solved this issue by updating my Android Things. I used the new setup utility tool to flash my Android Things: https://partner.android.com/things/console/u/1/#/tools

这篇关于Android物件:java.lang.NoClassDefFoundError:无法解决以下问题:Lcom/google/android/things/pio/PeripheralManager;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆