【问题标题】:com.google.ads.AdView failed to instantiate - java.lang.ClassNotFoundException: org.json.JSONExceptioncom.google.ads.AdView 无法实例化 - java.lang.ClassNotFoundException: org.json.JSONException
【发布时间】:2014-04-20 12:38:15
【问题描述】:

我收到 com.google.ads.AdView 未能在我的 main.xml 上实例化消息,当我显示我关注的消息时,它说找不到源。对不起,我不是优秀的开发者,我只是通过观看视频来创建我的应用程序来学习。我正在使用安卓 4.4.2

Error
Fri Apr 18 13:11:54 BST 2014
com.google.ads.AdView failed to instantiate.

java.lang.ClassNotFoundException: org.json.JSONException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at com.google.ads.AdView.a(SourceFile:184)
    at com.google.ads.AdView.a(SourceFile:352)
    at com.google.ads.AdView.<init>(SourceFile:125)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:437)
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:189)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:755)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:373)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:399)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:336)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:504)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.changed(GraphicalEditorPart.java:725)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.onTargetChange(GraphicalEditorPart.java:1196)
    at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.onDescriptorsChanged(LayoutEditorDelegate.java:916)
    at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegateInitUiRootNode(LayoutEditorDelegate.java:835)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$TargetListener.updateEditor(GraphicalEditorPart.java:953)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$TargetListener.onTargetLoaded(GraphicalEditorPart.java:917)
    at com.android.ide.eclipse.adt.AdtPlugin$11.run(AdtPlugin.java:1759)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4145)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3762)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)

我的 main.xml 是:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/splash_background"
        android:keepScreenOn="true"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tvDisplay"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:textColor="#58ACFA"
            android:textSize="30sp" />

        <Button
            android:id="@+id/bStart"
            android:layout_width="150dp"
            android:layout_height="40dp"
            android:layout_gravity="center"
            android:layout_marginTop="20dp"
            android:text="@string/start"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/timerValue"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="@string/timerVal"
            android:textColor="#58ACFA"
            android:textSize="25sp" />

        <Button
            android:id="@+id/bDur"
            android:layout_width="150dp"
            android:layout_height="40dp"
            android:layout_gravity="center"
            android:text="@string/stop"
            android:textSize="15sp" />

        <com.google.ads.AdView         
            android:id="@+id/ad"
            android:layout_marginTop="90dp"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            ads:adSize="BANNER"
            ads:adUnitId="My ID" 
            ads:loadAdOnCreate="true"
            ads:layout_alignParentBottom="true"
            />

    </LinearLayout>

而我的 ma​​infest.xml 是:

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

    <uses-sdk
        android:minSdkVersion="13"
        android:targetSdkVersion="19" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" 
        >


        <activity android:name=".Splash" > <!-- label comment at the beginandroid:label="@string/app_name"-->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <activity
            android:name=".AnneSesi" android:label="@string/app_name">
            <intent-filter>
                <action android:name="com.kolik.kolikbebek.ANNESESI" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name=".SupurgeSesi" android:label="@string/app_name">
            <intent-filter>
                <action android:name="com.kolik.kolikbebek.SUPURGESESI" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
         <activity
            android:name=".MainActivity" android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.kolik.kolikbebek.MAINACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
         <activity
            android:name=".Menu" android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.kolik.kolikbebek.MENU" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
                    <activity android:name="com.google.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

        </application>
</manifest>

我的 Java 代码是:

public class MainActivity extends Activity {

    private Button start, stop;
    private MediaPlayer mp;


    private TextView timerValue, display;

    private long startTime = 0L;

    private Handler customHandler = new Handler();

    long timeInMilliseconds = 0L;
    long timeSwapBuff = 0L;
    long updatedTime = 0L;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        display = (TextView)findViewById(R.id.tvDisplay);
        display.setText("Kurutma");

        timerValue = (TextView) findViewById(R.id.timerValue);
        start = (Button) findViewById(R.id.bStart);
        start.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                mp = MediaPlayer.create(MainActivity.this, R.raw.elektirikli);
                mp.setLooping(true);
                mp.start();

                //mp.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);


                startTime = SystemClock.uptimeMillis();
                customHandler.postDelayed(updateTimerThread, 0);

                mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

                    @Override
                    public void onCompletion(MediaPlayer mp) {

                        mp.stop();
                        mp.reset();
                        mp.release(); // free up memory
                        mp = null;

                    }

                });

            }
        });

        stop = (Button) findViewById(R.id.bDur);
        stop.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                if (mp != null) {
                    try {

                        mp.stop();
                        mp.reset();
                        mp.release();
                        mp = null;

                    } catch (Exception e) {
                        Log.d("error", e.toString());
                    }
                }
                timeSwapBuff += timeInMilliseconds;
                customHandler.removeCallbacks(updateTimerThread);
            }
        });
    }


    @Override
    protected void onPause() {

        if (mp != null && mp.isPlaying()) {
            mp.stop();
        }
        super.onPause();
        customHandler.removeCallbacks(updateTimerThread);
    }

    private Runnable updateTimerThread = new Runnable() {

        public void run() {

            timeInMilliseconds = SystemClock.uptimeMillis() - startTime;

            updatedTime = timeSwapBuff + timeInMilliseconds;

            int secs = (int) (updatedTime / 1000);
            int mins = secs / 60;
            secs = secs % 60;
            // int milliseconds = (int) (updatedTime % 1000);
            timerValue.setText("" + mins + ":" + String.format("%02d", secs));
            customHandler.postDelayed(this, 0);
        }

    };

}

【问题讨论】:

标签: java android json admob adview


【解决方案1】:

您发布的错误是来自 Eclipse IDE 的错误。也就是说,它是开发时错误而不是运行时错误。

这意味着您没有在 Eclipse 中正确配置 Android SDK 的路径。

在 Eclipse 中转到 Window -> Preferences -> Android 并浏览到 SDK 文件夹。

【讨论】:

  • 谢谢。我该如何更正它,我按照文档或视频的所有步骤进行操作?我将所有文档设置到桌面上的一个文件夹中,也包括我的项目。我应该怎么办?仍然收到错误? :(
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 2017-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多