6

私はアプリを持っています。メインのアクティビティが「FooBar」である「com.company.foo」と呼びましょう。私の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"これも私の電話とエミュレーターでは正常に機能しますが、他のいくつかのデバイスでは失敗します。この属性を完全に除外すると、インストールできなくなります。

何か案は?

4

2 に答える 2

7

Android マーケットでアプリを公開しています。また、同様のクラッシュ レポートを受け取ることもあります。それはあなたのせいではないようです。これは、アプリが SD カードにインストールされている場合に再現できます。このカードをアンマウントせずに取り出し、アプリを実行します。

追加情報については、こちらを参照してください。

于 2011-04-24T08:46:07.403 に答える
0

あなたが示したコードは問題ありません。何も問題はありません。他に何を見ましたか?

  1. 失敗した電話の Android リリースに対して SDK レベルを確認しましたか? そこに互換性のない可能性はありますか?

  2. 私が見つけたアクティビティを自分のコストでインスタンス化することは重要な問題であり、うまくいかないことがたくさんあります.すべてのサポートファイルに戻って、それらがクリーンであることを確認する必要がありますが、非互換性について考える必要があります.

  3. どのようなインポートが関係しているかは述べていません。アプリを最小限に減らしてみましたが、それでも少数の不正な電話で問題が発生することを確認しましたか?電話にアクセスできない可能性がありますか?

  4. 問題を引き起こしている電話のメーカー/モデル、アプリへのアクセス場所を投稿してみてください。同じメーカー/モデルの誰かがあなたのためにテストを喜んで行う可能性があります。

申し訳ありませんが、これ以上お役に立てません。

幸運を!!

オリバー

于 2011-04-24T08:16:31.823 に答える