从两个项目更新一个 APK

Posted

技术标签:

【中文标题】从两个项目更新一个 APK【英文标题】:Update one APK from two projects 【发布时间】:2021-03-22 22:15:37 【问题描述】:

我正在使用 WLanguage (WinDev Mobile) 开发一个 android 应用程序。现在,我想用另一种语言/技术重新开发应用程序:React Native。我将我的 APK 存储在私人服务器上。要更新用户在其设备上打开现有应用程序的应用程序,下载新的 APK,然后开始更新。

我的问题是:我必须做些什么才能确保我使用 React Native 创建的 APK 会被检测为使用 WinDev Mobile 创建的更新?

我希望最终用户更新现有应用程序而不是安装新应用程序。

谢谢

【问题讨论】:

【参考方案1】:

有三个强制性要求和一个可选要求:

    应用更新必须在 AndroidManifest.xml 中使用相同的 package 名称 必须使用相同的加密密钥 + 证书对应用程序进行签名(通常,此密钥采用密钥库文件的形式,例如 .ks.jks.bks + 密码) versionCode 必须高于上一个基于 WLanguage 的版本中的“versionCode”数字,否则 Android 可以reject the update because it considers it a downgrade

可选:

主要活动的类名应该保持不变。否则所有在启动器上创建快捷方式的用户都将失去快捷方式。

要获得它,请查看您上一个基于 WLanguage 的版本的 AndroidManifest.xml

<activity android:name="<classname>" ... />
    <category android:name="android.intent.category.LAUNCHER"/>` 
    ...

【讨论】:

谢谢,很清楚。我应该有机会在接下来的几周内尝试一下。

以上是关于从两个项目更新一个 APK的主要内容,如果未能解决你的问题,请参考以下文章

从一个父项目 ionic 创建多个新项目 apk

从 APK 文件逆向工程到项目

如何在 Jetbrains Rider 中构建 Android APK

从 Flutter 项目构建 APK 时出错

apk打包后闪退怎么办

在 Flutter 项目中更新 Gradle