Вопрос по android – Android: NoClassDefFoundError для некоторых пользователей приложения

1

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

Вот журнал:

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 сообщений об этой проблеме.

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

<?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" />

@OvidiuLatcu, спасибо за повтор. Я разместил свой манифест. В каждом действии я отключаю строгий режим, если версия sdk больше 9. Miloš
Спасибо @VivekKumarSrivastava, обычно я отключаю строгий режим в каждом действии. Miloš
видеть этоlink также Vivek Kumar Srivastava
Вы должны опубликовать свой манифест. Вы используете StrictMode.ThreadPolicy в своем приложении? вы делаете сеть в потоке пользовательского интерфейса? Ovidiu Latcu

Ваш Ответ

2   ответа
5

и в манифесте в качестве минимума установлено 8. Это, вероятно, от пользователей, работающих под управлением 2.2.x (уровень API 8).

У меня есть сообщение от пользователя: MDPI не работает, закрывается без открытия: вкладка galaxy. Вы думаете, что вкладка галактики 3.0? Miloš
Да, хотя это должно быть & gt; = 9.
ОК огромное спасибо. Miloš
Оригинальная Galaxy Tab работала в версии 2.2 (Froyo), поэтому они, скорее всего, имеют ту же проблему, что и вы, как указано выше.
Ах хорошо. Так что если я буду использовать: if (android.os.Build.VERSION.SDK_INT & gt; 9) {StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder (). AllowAll (). Build (); StrictMode.setThreadPolicy (политика); } вместо того, чтобы напрямую отключать строгий режим, это должно решить проблему Miloš
1

азом, при импорте библиотеки или использовании кода StrictMode Activity выдаст исключение.

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

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

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

внешний класс (только здесь, импортирующий библиотеку строгого режима)

class StrictModeHelper{
  public static disable(){
  // do disable strict mode stuff
  }
}
У меня есть сообщение от пользователя: "MDPI не работает, закрывается, не открывая: вкладка galaxy". Вы думаете, что вкладка галактики 3.0? Miloš
Вы тестировали свое приложение на Android & lt; 2.3? (Galaxytab был 2.2)
Не совсем, большое спасибо за этот ответ. Miloš

Похожие вопросы