从两个项目更新一个 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的主要内容,如果未能解决你的问题,请参考以下文章