Приложение Android не загружается на некоторых телефонах в PathClassLoader - PullRequest
6 голосов
/ 24 апреля 2011

У меня есть приложение, назовем его com.company.foo, с основным действием «FooBar».В моем AndroidManifest.xml у меня есть

<application android:label="@string/app_name"
             android:icon="@drawable/icon"
             android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  >
    <activity android:name="FooBar"
              android:label="@string/app_name"
              android:configChanges="keyboardHidden|orientation" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
...
</application>

(где точки содержат другие действия внутри моего приложения).В таком виде он отлично работает на моем желании HTC и на эмуляторе.Однако (очень) небольшое количество людей, загрузивших приложение с маркета, сообщают о сбое с

java.lang.RuntimeException: невозможно создать экземпляр компонента ComponentInfo {com.company.foo/com.company.foo.FooBar}: java.lang.ClassNotFoundException: com.company.foo.FooBar в загрузчике dalvik.system.PathClassLoader [/mnt/asec/com.company.foo-1/pkg.apk]

Кто-то предложил заменить android:name="FooBar" на android:name=".FooBar", который снова отлично работает на моем телефоне и эмуляторе, но не работает на некоторых других устройствах.Если я вообще пропущу этот атрибут, он вообще не даст мне установить.

Есть идеи?

Ответы [ 2 ]

7 голосов
/ 24 апреля 2011

У меня есть приложение, опубликованное в Android Market. И иногда я получаю подобные отчеты о сбоях. Кажется, это не твоя вина. Это может быть воспроизведено, если ваше приложение установлено на SD-карте. Извлеките эту карту, не отключая ее, и запустите приложение.

Дополнительную информацию можно найти здесь .

0 голосов
/ 24 апреля 2011

Код, который вы показали, в порядке, не вижу в этом ничего плохого - так на что еще вы смотрели?

  1. Вы проверяли уровень SDK по сравнению с выпуском Android на телефонах, которые вышли из строя? Есть ли какой-то шанс на несовместимость?

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

  3. Вы не сказали, что подразумевается при импорте - пытались ли вы сократить свое приложение до минимума и посмотреть, вызывает ли оно проблемы с этим небольшим количеством мошеннических телефонов - может быть, у вас нет доступа к телефонам?

  4. Попробуйте опубликовать информацию о марках / моделях телефонов, которые вызывают проблемы, а также о том, где можно получить доступ к вашему приложению, и здесь может быть кто-то с той же маркой / моделью, который хотел бы провести для вас какое-то тестирование

Извините, я не могу помочь,

Удачи !!

Оливер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...