1

何日もアーバン エアシップをセットアップしようとしてきましたが、本当にストレスがたまりました。彼らの指示は明確ではないので、私はこれに従わなければなりませんでした。ただし、現在、このエラー ログを取得していて、何か助けが得られるかどうかを確認しようとしています。アドバイスをいただければ幸いです。ありがとうございました!

10-18 12:41:10.585: E/AndroidRuntime(11870): FATAL EXCEPTION: main
10-18 12:41:10.585: E/AndroidRuntime(11870): java.lang.NoClassDefFoundError: com.urbanairship.UAirship
10-18 12:41:10.585: E/AndroidRuntime(11870):    at com.app.android.NotifyMeApplication.onCreate(NotifyMeApplication.java:15)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:973)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3971)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at android.app.ActivityThread.access$1300(ActivityThread.java:128)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at android.os.Looper.loop(Looper.java:137)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at android.app.ActivityThread.main(ActivityThread.java:4517)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at java.lang.reflect.Method.invokeNative(Native Method)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at java.lang.reflect.Method.invoke(Method.java:511)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
10-18 12:41:10.585: E/AndroidRuntime(11870):    at dalvik.system.NativeStart.main(Native Method)

同様の質問と回答を見つけましたが、

- すべての Android ライブラリ プロジェクトと外部 jar をビルド パスから削除します。

-プロジェクトに「libs」という名前のフォルダーを作成します。

-すべての外部 .jar をそのフォルダーに配置すると、ADT はそれらを「Android 依存関係」の下に配置する必要があります。

-以前のすべての Android ライブラリ プロジェクトを通常の方法で再インポートします。

しかし、それは私にはうまくいきません。

これは Manifestfile で、アプリケーション名を削除すると、アプリケーションは正常に動作します。しかし、プッシュ通知を有効にするにはそれが必要です..

AndroidManifest.xml

<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:name="com.app.android.NotifyMeApplication"
        android:debuggable="true"
        android:allowClearUserData="true"
        android:enabled="true" >

NotifyMeApplication.java

package com.app.android;

import com.urbanairship.Logger;
import com.urbanairship.UAirship;
import com.urbanairship.push.PushManager;
import com.urbanairship.push.PushPreferences;

import android.app.Application;

public class NotifyMeApplication extends Application{

    @Override
    public void onCreate() {
        super.onCreate();
                UAirship.takeOff(this); // always needs to be called when starting an application

                // even though we call takeoff push notifications are disabled by default
                // you have to explicitly turn them on like so
                PushManager.enablePush();

                // let the push manager know about our intent receiver
                PushManager.shared().setIntentReceiver(IntentReceiver.class); 
                // name must match broadcast receiver from step 7

                // set some preferences for sounds and vibration
                PushPreferences prefs = PushManager.shared().getPreferences();
                prefs.setSoundEnabled(true);
                prefs.setVibrateEnabled(true);

                // apid is a unique identifier for a particular device
                String lPushId = prefs.getPushId();
                Logger.info("My Application onCreate - App APID: " + lPushId);

    }
}
4

1 に答える 1

2

実行時に取得した場合はNoClassDefFoundError、実行時に機能するようにそれらを含めなかったと思われます。次のように、各 .jar のチェックボックスをオンにする必要があります。

ここに画像の説明を入力

于 2012-10-18T22:38:38.100 に答える