android - 可以在同一个 APK 中放置两个包吗?

标签 android android-manifest apk android-package-managers

我正在尝试实现this great technique跨两个不同应用程序共享首选项,同时仍为 MODE_PRIVATE。

我的问题是第一个应用程序不能假设第一个应用程序已安装(反之亦然),因此:

 Context c = createPackageContext("com.app.first", MODE_PRIVATE);

必须替换为:

 Context c = createPackageContext("com.app.shared", MODE_PRIVATE);

但这要求添加 com.app.shared真的,这会转化为第二个 APK?

换句话说,只有一个 AndroidManifest.xml每个 APK 且只有一个 <manifest package= >每个 list 文件。因此每个 APK 只有一个实际包?

我不想每个应用程序有 2 个 APK,我只想每个应用程序有一个 APK。

有办法实现吗?

最佳答案

I am trying to implement this great technique of sharing preferences across two different applications while still MODE_PRIVATE.

事实上,这是一种反伟大的技术,我刚刚删除了我的答案。使用 android:sharedUserId 是有风险的,对于已经部署的应用程序来说是完全不可能的。自从我在那里发布答案以来的两年里,我认识到了自己的方式的错误。

此外,该技术工作不可靠,因为您无法控制用户安装和卸载哪些应用程序。如果应用程序 A 和应用程序 B 通过使用应用程序 A 的副本来共享首选项,则当用户卸载应用程序 A 时,应用程序 B 就会被删除。

Therefore only one actual package per APK?

正确。

I don't want 2 APKs per application, I only want a single APK per application.

对于两个应用程序,您有两个 APK 文件,每个文件都有自己的包名称。

关于android - 可以在同一个 APK 中放置两个包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803585/

相关文章:

android - 上传apk文件到市场时出错

java - 将自定义边框添加到警报对话框生成器布局

java - 如何从 WakefulBroadcastReceiver 启动 IntentService

添加共享用户 ID 后,Android 应用无法从市场更新

android - 如何更改APK图标?

android - 如何分析Android APK的兼容性?

android - 渐变 ASCII : A problem occurred evaluating project ':app'

android - .NET MAUI 将 Android 中的文件写入文件夹,然后可以在 Windows 文件资源管理器中访问该文件夹

android - 如何在应用程序android中提高音量?

android - 工具:targetApi ="m"?有什么用