未验证 提交 732ea766 编写于 作者: S Stanislav Baranov 提交者: GitHub

Allow dynamic patches without a patch number. (#7309)

Unique patch numbers are mainly useful for canary and A-B testing, but otherwise complicate things and can now be omitted.

Also, always append .zip to patch download URL. This obviates the need to configure redirects on the server when not using patch numbers.
上级 20ee4e3e
......@@ -218,19 +218,17 @@ class ResourceExtractor {
String buildNumber = updateManifest.optString("buildNumber", null);
if (buildNumber == null) {
Log.w(TAG, "Invalid update manifest: buildNumber");
}
String patchNumber = updateManifest.optString("patchNumber", null);
if (patchNumber == null) {
Log.w(TAG, "Invalid update manifest: patchNumber");
}
if (buildNumber != null && patchNumber != null) {
if (!buildNumber.equals(Long.toString(getVersionCode(packageInfo)))) {
} else {
String patchNumber = updateManifest.optString("patchNumber", null);
if (!buildNumber.equals(Long.toString(getVersionCode(packageInfo)))) {
Log.w(TAG, "Outdated update file for " + getVersionCode(packageInfo));
} else {
final File updateFile = new File(FlutterMain.getUpdateInstallationPath());
expectedTimestamp += "-" + patchNumber + "-" + updateFile.lastModified();
if (patchNumber != null) {
expectedTimestamp += "-" + patchNumber + "-" + updateFile.lastModified();
} else {
expectedTimestamp += "-" + updateFile.lastModified();
}
}
}
}
......
......@@ -126,7 +126,7 @@ public final class ResourceUpdater {
URI uri;
try {
uri = new URI(metaData.getString("UpdateServerURL") + "/" + getAPKVersion());
uri = new URI(metaData.getString("UpdateServerURL") + "/" + getAPKVersion() + ".zip");
} catch (URISyntaxException e) {
Log.w(TAG, "Invalid AndroidManifest.xml UpdateServerURL: " + e.getMessage());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册