1

フォーラムで同様の質問を確認しましたが、実行できませんでした。最後に、エラーに集中するために必要のないものをすべて削除し、そのコードのチャンクを残しました。しかし、それでもNoClassDefFoundErrorでクラッシュしています

AdWhirlLayout adWhirlLayout = new AdWhirlLayout(TestActivity.this, key);

ライン。

AdWhirlSDK_Android_3.1.1を使用していますが、AdWhirlSDK_Android_3.0.0も試してみました。同じエラーが発生します。

Javaコード。

import com.adwhirl.AdWhirlLayout;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.LinearLayout.LayoutParams;

public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        setupAds();
    }

    private void setupAds() {
        String key = "adwhirl_key";

        int diWidth = 320;
        int diHeight = 52;
        float density = getResources().getDisplayMetrics().density;

        LinearLayout layout = (LinearLayout) findViewById(R.id.adView);
        RelativeLayout.LayoutParams layoutParams = 
                new RelativeLayout.LayoutParams(
                        LayoutParams.FILL_PARENT, 
                        LayoutParams.WRAP_CONTENT);

        AdWhirlLayout adWhirlLayout = new AdWhirlLayout(TestActivity.this, key);
        adWhirlLayout.setMaxWidth((int) (diWidth * density));
        adWhirlLayout.setMaxHeight((int) (diHeight * density));

        layout.addView(adWhirlLayout, layoutParams);
        layout.invalidate();
    }
}

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <LinearLayout
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

LOGCAT:

04-11 17:59:50.451: E/AndroidRuntime(707): FATAL EXCEPTION: main
04-11 17:59:50.451: E/AndroidRuntime(707): java.lang.NoClassDefFoundError: com.adwhirl.AdWhirlLayout
04-11 17:59:50.451: E/AndroidRuntime(707):  at com.testproject.TestActivity.setupAds(TestActivity.java:34)
04-11 17:59:50.451: E/AndroidRuntime(707):  at com.testproject.TestActivity.onCreate(TestActivity.java:18)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.os.Looper.loop(Looper.java:123)
04-11 17:59:50.451: E/AndroidRuntime(707):  at android.app.ActivityThread.main(ActivityThread.java:3683)
04-11 17:59:50.451: E/AndroidRuntime(707):  at java.lang.reflect.Method.invokeNative(Native Method)
04-11 17:59:50.451: E/AndroidRuntime(707):  at java.lang.reflect.Method.invoke(Method.java:507)
04-11 17:59:50.451: E/AndroidRuntime(707):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-11 17:59:50.451: E/AndroidRuntime(707):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-11 17:59:50.451: E/AndroidRuntime(707):  at dalvik.system.NativeStart.main(Native Method)

誰かアイデアがあり、見えないものを教えてくれます。お願いします。

よろしくお願いします

4

2 に答える 2

0

.jar ファイルを使用するプロジェクト (つまり、テスト対象のプロジェクト) に移動します。右ボタンをクリック -> プロパティ -> Java ビルド パス -> 注文とエクスポート -> そこのライブラリを確認します。スクリーンショットについては、このリンクを確認してください。

于 2012-10-04T16:33:41.127 に答える
0

コメントのリンクを必ず確認してください。基本的に、必要なライブラリを「libs」フォルダーに配置して、Android のすべての依存関係を処理する必要があります。Eclipse はこれを自動的に生成しないため、自分で作成する必要があります。「libs」フォルダーを「res」フォルダーに入れます (bin/res ではなく、src と同じディレクトリーを共有する res フォルダー)。

また、他のアクティビティを起動する場合、それらの機能 (uses-internet) に特別なアクセス許可が必要な場合などは、マニフェストにすべての適切な宣言があることを確認してください。

于 2012-04-11T19:21:14.320 に答える