2

AndroidManifest.xml の下の「xxx」のようなアクティビティ クラス名を非表示にする方法はありますか?

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

それとも別のファイルで設定しますか?

ps: 興味深いのは、サードパーティの自動スキャン ツールから隠したいということです。Google Play とは異なり、一部の Android マーケット (中国) では、admob SDK の使用を禁止し、提供されたものを使用するなど、煩わしい制限のある競争慣行があります。市場ごとにプログラムを変更したくありません。

4

2 に答える 2

3

アクティビティクラスの本名を隠すことはできないと思います。名前は、コンパイラにその存在を示すためにどこかに表示される必要があります。そうしないと、システムは例外をスローしますActivityNotFoundException

アクティビティのエイリアスを指定するオプション(<activity-alias>)がありますが、ここでも予想どおり、マッピングを可能にするために実際の名前を指定する必要があります。

于 2012-09-22T06:54:32.710 に答える
1

マニフェスト ファイルでアクティビティを非表示にしたり、名前を変更したりすることはできません。APK がインストールされるたびに、すべてのアクティビティ、サービス、およびその他のリソースの情報がマニフェスト ファイルから検索されるためです。

そのため、アクティビティに別の名前を指定すると、Null Pointer Exceptionが発生し、アプリケーションは強制終了します。

特定のツールまたはあなたが話しているツールのマニフェストコンテンツを非表示にする方法について、いくつかのトリックを探す方がよいでしょう。

于 2012-09-22T07:45:14.597 に答える