在我的AndroidManifest
应用程序文件中, main一直是:Activity
android:name
android:name=".MainActivity"
最近,我更改了应用程序以使用库。所有代码都已转移到库项目中,因此我可以提供免费和付费版本,两者都使用相同的代码(除了一些修改)。
现在Activity
清单文件中的主要名称是:
android:name="com.name.library.MainActivity"
不幸的是,用户现在报告他们无法再在手机上打开更新的应用程序。安卓 说:App not installed!
经过一番搜索,我在这里找到了导致此问题的原因:您无法更改Activity
' 的名称而不会导致其他尝试将Intent
s 用于此应用的应用出现问题。我猜报告问题的用户已将我的应用程序放在他们的主屏幕上,并且启动器应用程序不再找到旧Activity
名称。真的吗?
但这是否也会影响列出所有应用程序的菜单?实际上,Android 应该Activity
在更新时更新 's name,不是吗?
以及如何解决这个问题?Activity
我唯一的想法是使用旧名称创建一个新名称,并在onCreate(...)
其中放置以下代码:
Intent i = new Intent(MainActivity.this, MainActivity.class);
i.setComponentName("com.app.library", "com.app.library.MainActivity);
startActivity(i);
但这不是一个令人愉快的解决方案,显然......