2016-11-28 9 views
0

AndroidManifest.javaNoClassDefFoundErrorが

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

    <!-- Lat lon fetching permission by GPSTracker class start and also use for google map --> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <uses-permission android:name="com.bidnextjob.bidnextjob.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.FLASHLIGHT" /> 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    <!-- Allows access to the flashlight --> 
    <permission 
     android:name="android.permission.FLASHLIGHT" 
     android:permissionGroup="android.permission-group.HARDWARE_CONTROLS" 
     android:protectionLevel="normal" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/MyTheme"> 
     <activity android:name=".SplashActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".MainActivity" /> 
     <activity android:name=".LoginActivity" /> 
     <activity android:name=".RegisterActivity" /> 
     <activity 
      android:name=".HomeActivity" 
      android:windowSoftInputMode="stateAlwaysHidden" /> 
     <activity android:name=".FilterActivity" /> 
     <activity android:name=".JobDetailsActivity" /> 
     <activity android:name=".EditProfileActivity" 
      android:windowSoftInputMode="stateAlwaysHidden"/> 
     <activity 
      android:name=".ChatActivity" 
      android:windowSoftInputMode="stateAlwaysHidden" /> 

     <activity android:name=".AboutUsActivity" /> 
     <activity android:name=".HelpActivity" /> 
     <activity android:name=".ReviewActivity" /> 
     <activity 
      android:name=".CommentActivity" 
      android:windowSoftInputMode="stateAlwaysHidden" /> 
     <activity android:name=".ForgetPasswordActivity" /> 
     <activity 
      android:name=".PlaceBidActivity" 
      android:windowSoftInputMode="stateAlwaysHidden" /> 
     <activity 
      android:name=".EditBidActivity" 
      android:windowSoftInputMode="stateAlwaysHidden" /> 
     <activity android:name=".JobDetails1Activity" /> 
     <activity android:name=".NotificationsActivity" /> 
     <activity android:name=".ChooseCategoryActivity" /> 
     <activity android:name=".BidDetailsActivity" /> 
     <activity android:name=".EditAddressActivity" /> 
     <activity android:name=".UpdateProfileActivity" /> 
     <activity android:name=".GiveRatingActivity" /> 
     <activity android:name=".ArchiveActivity"/> 
     <activity android:name=".AutoCompleteAddress"/> 
     <activity 
      android:name=".SocialLoginActivity" 
      android:label=".SocialLoginActivity" /> 

     <meta-data 
      android:name="com.facebook.sdk.ApplicationId" 
      android:value="@string/facebook_app_id" /> 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

     <meta-data 
      android:name="com.google.android.geo.API_KEY" 
      android:value="<some api key>" /> 

     <activity 
      android:name="com.facebook.FacebookActivity" 
      android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 

     <service android:name="utilities.gcm.GcmIntentService" /> 

     <receiver 
      android:name="utilities.gcm.GcmBroadcastReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND"> 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

       <category android:name="com.bidnextjob.bidnextjob" /> 
      </intent-filter> 
     </receiver> 
    </application> 
</manifest> 

私は値を返すための静的メソッドを持つPOJOクラスにアクセスしています。私のスプラッシュスクリーンクラス(ランチャーページ)でこの静的メソッドにアクセスすると、そのPojoクラスのNoClassDefFoundErrorが返されます。メソッドを非静的にすることなくこの例外を回避するには?

LogCat

FATAL EXCEPTION: main 
Process: com.bidnextjob.bidnextjob, PID: 30515 
java.lang.NoClassDefFoundError: shared_pref.SharedStorage 
at com.bidnextjob.bidnextjob.SplashActivity.onCreate(SplashActivity.java:21) 
at android.app.Activity.performCreate(Activity.java:5280) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2322) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410) 
at android.app.ActivityThread.access$800(ActivityThread.java:155) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331) 
at android.os.Handler.dispatchMessage(Handler.java:110) 
at android.os.Looper.loop(Looper.java:193) 
at android.app.ActivityThread.main(ActivityThread.java:5388) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:515) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655) 
at dalvik.system.NativeStart.main(Native Method) 

POJOクラス

package shared_pref; 

public class SharedStorage { 
    static SharedPreferences preference; 

    private static String prefData="ExampleStructApp"; 

    public static String UserId= "UserId"; 
    public static String UserType= "UserType"; 

    public static void setValue(Context context,String key,String data){ 
     preference = context.getSharedPreferences(prefData, Context.MODE_PRIVATE); 
     SharedPreferences.Editor editor = preference.edit(); 
     editor.putString(key,data); 
     editor.commit(); 
    } 

    public static String getValue(Context context,String key){ 
     preference = context.getSharedPreferences(prefData, Context.MODE_PRIVATE); 
     String id = preference.getString(key,""); 
     return id; 
    } 

    public static void resetValue(Context context){ 
     preference = context.getSharedPreferences(prefData, Context.MODE_PRIVATE); 
     preference.edit().clear().commit(); 
    } 
} 

スプラッシュ画面クラス

public class SplashActivity extends AppCompatActivity { 


    private String user_id = ""; 

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

     // Here I get NoClassDefFoundError 
     user_id = SharedStorage.getValue(getApplicationContext(),"UserId"); 



     new Handler().postDelayed(new Runnable() { 

      @Override 
      public void run() { 

       if(user_id != null && !user_id.isEmpty()){ 
        startActivity(new Intent(SplashActivity.this, HomeActivity.class)); 
        finish(); 
       }else{ 
        startActivity(new Intent(SplashActivity.this, MainActivity.class)); 
        finish(); 
       } 
      } 
     }, 3000); 

    } 
} 
+1

getApplicationContext()SplashActivityがSplashActivity.this @RushiAyyappaため –

+0

試しhttp://stackoverflow.com/questions/34413/why-am-i-getting-a-noclassdeffounderror-in-java –

+0

同じエラーを.thisしてみてください –

答えて

0

これはcausですあなたのコードが依存するクラスファイルがありコンパイル時には存在するが実行時には見つからないときにはビルド時間と実行時クラスパスの違いを探します。代わりに

+0

オブジェクトを使用すると同じエラーが発生します。私は、マニフェストで宣言されているものと同じパッケージ名でpojoを保持しようとしています。 @ Rushi –

+0

ここにあなたのマニフェストを書き留めることができますか? –

関連する問題