私のアプリケーションのAndroidManifest
ファイルでは、メインは常に次Activity
のとおりです。android:name
android:name=".MainActivity"
最近、ライブラリを使用するようにアプリを変更しました。すべてのコードはライブラリ プロジェクトに転送されているため、無料バージョンと有料バージョンの両方を同じコードを使用して提供できます (一部の変更を除く)。
Activity
マニフェスト ファイルのメインの名前は次のようになります。
android:name="com.name.library.MainActivity"
残念ながら、ユーザーは、更新されたアプリを携帯電話で開くことができなくなったと報告しています。アンドロイドは次のように述べています。App not installed!
いくつかの検索の後、ここでこの問題の原因を見つけましたActivity
:このアプリに sを使用しようとする他のアプリに問題を引き起こさずに の名前を変更することはできませんIntent
。問題を報告したユーザーが私のアプリをホーム画面に配置したため、ランチャー アプリケーションは古いActivity
名前を見つけられなくなったと思います。本当?
しかし、これはすべてのアプリがリストされたメニューにも影響しますか? 実際、Android は更新時にActivity
の名前を更新する必要がありますね。
そして、この問題を解決するにはどうすればよいですか?Activity
私の唯一のアイデアは、古い名前で新しいを作成しonCreate(...)
、次のコードを配置することです。
Intent i = new Intent(MainActivity.this, MainActivity.class);
i.setComponentName("com.app.library", "com.app.library.MainActivity);
startActivity(i);
しかし、これは明らかに楽しい解決策ではありません...