2014-01-18 44 views
0

我試圖啓動我的應用程序時,有這個問題,這很奇怪,因爲昨天它工作正常。無法啓動應用程序與Sherlock行動酒吧

01-18 12:19:40.192: E/AndroidRuntime(1530): FATAL EXCEPTION: main 
01-18 12:19:40.192: E/AndroidRuntime(1530): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{pe.com.livetrack.client/pe.com.livetrack.client.activities.BootSherlockFragmentActivity}: java.lang.ClassNotFoundException: pe.com.livetrack.client.activities.BootSherlockFragmentActivity in loader dalvik.system.PathClassLoader[/data/app/pe.com.livetrack.client-1.apk] 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2603) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2697) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.app.ActivityThread.access$2300(ActivityThread.java:126) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2051) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.os.Looper.loop(Looper.java:123) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.app.ActivityThread.main(ActivityThread.java:4645) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at java.lang.reflect.Method.invoke(Method.java:521) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at dalvik.system.NativeStart.main(Native Method) 
01-18 12:19:40.192: E/AndroidRuntime(1530): Caused by: java.lang.ClassNotFoundException: pe.com.livetrack.client.activities.BootSherlockFragmentActivity in loader dalvik.system.PathClassLoader[/data/app/pe.com.livetrack.client-1.apk] 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.app.Instrumentation.newActivity(Instrumentation.java:1022) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2595) 
01-18 12:19:40.192: E/AndroidRuntime(1530):  ... 11 more 

我所做的事情努力使它的工作原理:

  1. 清理並生成項目
  2. 清潔和建設ActionbarSherlock項目
  3. Chechk艙單的活動並將其註冊。
  4. 檢查班庫的班級和班級在那裏。

AndroidManifest.xml中

<activity android:name="pe.com.livetrack.client.activities.BootSherlockFragmentActivity" 
     android:configChanges="keyboardHidden|orientation|screenSize" 
     android:exported="true" 
     android:label="@string/app_name" 
     android:screenOrientation="unspecified" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

BootFragment

public class BootSherlockFragmentActivity extends SherlockFragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);  
     IOController ioController = new IOController(getApplicationContext()); 
     UserData userData = ioController.loadUserData(); 
     if (!(userData.getAccount().equals("") && userData.getUser().equals(""))) { 
      startActivity(new Intent(getApplicationContext(), 
        MainMenuSherlockActivity.class)); 
      finish(); 
     } else { 
      setContentView(R.layout.boot); 

      TextView textViewVersion = (TextView) findViewById(R.id.boot_textview_version); 
     try { 
      String versionName = getPackageManager().getPackageInfo(
        getPackageName(), 0).versionName; 
      textViewVersion.setText(textViewVersion.getText() + " " 
        + versionName); 
     } catch (NameNotFoundException e) { 
      textViewVersion.setText(""); 
     } 

     new LoadUserDataAndGoToMainMenu(this).execute(); 
    } 

} 

而且我已在庫中引用

Libraries

Java的位置構建路徑:

Java Build path

不知道該怎麼辦?

我重新引用了actionBarSherlock庫,它工作正常,我使用文本編輯器(Notepad ++)修改了文件project.properties,.classpath和其他文件,它與5個項目一起工作,我得到了同樣的錯誤,但一個沒有工作。現在,我收到此錯誤:

[2014-01-21 18:19:41 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 
[2014-01-21 18:19:41 - MyApp] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 

如果我清理並生成項目或嘗試修改與編輯器中的文件,但我得到上述錯誤的ClassNotFoundException。
有什麼不對?

+0

你有沒有給你的項目的ActionBarSherlock Linbrary的參考? –

+0

是的,檢查我的更新。 – Aiapaec

+0

@El_Mochiq你可以顯示你的構建路徑的快照。右鍵單擊你的項目屬性 - java構建路徑。檢查訂單導出標籤 – Raghunandan

回答

0

解決方案是從ActionBarSherlock項目中刪除android-support-v4.jar,再次構建ABS項目,重新引用,清理項目並再次構建。