2012-06-21 4 views
1

Я опубликовал приложение 2 месяца назад, и иногда я получаю некоторые ошибки от пользователей.Android: NoClassDefFoundError для некоторых пользователей приложения

Вот лог:

java.lang.NoClassDefFoundError: android.os.StrictMode$ThreadPolicy$Builder 
at mdpi.android.MDPIActivity.onCreate(MDPIActivity.java:132) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:4627) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:521) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629) 
at dalvik.system.NativeStart.main(Native Method) 

Самое странное в том, что при тестировании, я новее получаю эту ошибку и на данный момент, есть 6 repports от других пользователей об этой проблеме.

Вот мой манифест:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="mdpi.android" 
android:versionCode="4" 
android:versionName="2.1" 
android:installLocation="auto"> 

<uses-sdk android:minSdkVersion="8" /> 

<application 
    android:icon="@drawable/app_icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Black"> 
    android:debuggable=false 


    <activity 
     android:name=".WelcomeScreen" 
     android:configChanges="orientation|keyboardHidden" 
     android: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=".MDPIActivity" 
     android:configChanges="keyboardHidden|orientation"></activity> 

    <activity android:name=".UserSubmission" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserProfile" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserInformations" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserForgotPassword" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserRegistration" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserSubmissions" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserSubmissionLog" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserEmailNotifications"></activity> 
    <activity android:name=".Journals" 
     android:configChanges="keyboardHidden|orientation"></activity> 

    <activity android:name=".JournalsAdding" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".JournalAimsAndScope" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".JournalEditorialBoard" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".JournalContact" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".JournalArticles" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".JournalArticleInfo" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".JournalArticlesVolumeIssuesSelection"></activity> 

    <activity android:name=".MDPI_About" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".MDPI_About_About" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".MDPI_About_Contact" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".User_Registration_Country_Choosing"></activity> 

    <activity android:name=".MDPI_About_OpenAccess" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserLoging" 
     android:configChanges="keyboardHidden|orientation"></activity> 

    <activity 
     android:name=".JournalSelectingDialog" 
     android:theme="@android:style/Theme.Dialog" 
     android:configChanges="orientation|keyboardHidden"></activity> 

    <activity android:name=".UserProfileEditing" 
     android:configChanges="orientation|keyboardHidden" 
     android:windowSoftInputMode="stateHidden"></activity> 

    <activity android:name=".User_EditProfile_Country_Choosing" 
     android:configChanges="orientation|keyboardHidden"> 
    </activity> 

    <activity android:name=".JournalsDeleting" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

     <activity android:name=".Highlights" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

     <activity android:name=".Highlights_News" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

     <activity android:name=".Highlights_News_Informations" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

     <activity android:name=".Highlights_NewSpecialIssues" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

     <activity android:name=".Highlights_NewSpecialIssue_Informations" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

     <activity android:name=".Search" 
     android:configChanges="orientation|keyboardHidden"> 
      <intent-filter> 
     <action android:name="android.intent.action.SEARCH" /> 
     </intent-filter> 
     <meta-data android:name="android.app.searchable" 
       android:resource="@xml/searchable"/> 
     </activity> 


     <activity android:name=".SearchInterface" 
     android:configChanges="orientation|keyboardHidden"> 
     <meta-data android:name="android.app.default_searchable" 
       android:value=".Search" /> 
     </activity> 

      <activity android:name=".SpecialIssueInformations" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

      <activity android:name=".ArticlesFromAuthor" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 

      <activity android:name=".ChangeWallpaper" 
     android:configChanges="orientation|keyboardHidden"> 
     </activity> 



</application> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

+0

см. Это [ссылка] (http://stackoverflow.com/questions/8575617/i-dont-know-how-to-solve-android-os-networkonmainthreadexception) также –

+0

вы должны опубликовать свой манифест. вы используете StrictMode.ThreadPolicy в своем приложении? вы делаете сеть в потоке пользовательского интерфейса? –

+0

Спасибо @VivekKumarSrivastava, normaly, я деактивирую строгий режим в каждом действии. –

ответ

5

Строгий режим был представленный на уровне API 9, и у вас есть 8 заданных как минимум в манифесте. Вероятно, это от пользователей, работающих под управлением 2.2.x (уровень API 8).

+0

У меня есть сообщение от пользователя: MDPI не работает, он закрывается, не открываясь: galaxy tab. U думаю, что вкладка галактики 3.0? –

+0

Оригинальная вкладка Galaxy Tab 2.2 (Froyo), поэтому они, скорее всего, имеют ту же проблему, что и вы сказали выше. – nmw

+0

А, ок. Поэтому, если я буду использовать: if (android.os.Build.VERSION.SDK_INT> 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder(). AllowAll(). Build(); StrictMode.setThreadPolicy (политика); } вместо прямого деактивации строгого режима, этот shuld разрешает проблему –

1

В Android ниже Gingerbread (API 9) StrictMode не существует. Поэтому при импорте библиотеки или использовании кода StrictMode Activity выдает исключение.

Может быть, это работает следующим обходной путь помогает (в псевдокод):

в деятельности

if(9 >= android.os.Build.VERSION.SDK_INT){ 
StrictModeHelper.disable(); 
} 

внешнего класса (только здесь импортирования StrictMode ОМТ)

class StrictModeHelper{ 
    public static disable(){ 
    // do disable strict mode stuff 
    } 
} 
+0

У меня есть сообщение от пользователя: «MDPI не работает, он закрывается, не открываясь: вкладка galaxy». U думаю, что вкладка галактики 3.0? –

+0

у вас есть тестовое приложение с андроидом <2,3? (Galaxytab был 2,2) – MemLeak

+0

Не очень, большое спасибо за этот ответ. –

Смежные вопросы