Tobi823 / ffupdater

FFUpdater: Updater for privacy friendly browser
https://f-droid.org/en/packages/de.marmaro.krt.ffupdater
GNU General Public License v3.0
685 stars 33 forks source link

iceraven cannot update #644

Open alexolog opened 1 day ago

alexolog commented 1 day ago

Stacktrace:

java.lang.RuntimeException: Failed to install ICERAVEN in the foreground.
    at de.marmaro.krt.ffupdater.activity.download.DownloadActivity.installApp(DownloadActivity.kt:371)
    at de.marmaro.krt.ffupdater.activity.download.DownloadActivity.access$installApp(DownloadActivity.kt:59)
    at de.marmaro.krt.ffupdater.activity.download.DownloadActivity$installApp$1.invokeSuspend(DownloadActivity.kt:0)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:241)
    at android.app.ActivityThread.main(ActivityThread.java:7604)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
Caused by: de.marmaro.krt.ffupdater.installer.exceptions.InstallationFailedException: Can't validate the signature of the APK file.
    at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier.hasApkCorrectCertificate(CertificateVerifier.kt:27)
    at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier.access$hasApkCorrectCertificate(CertificateVerifier.kt:11)
    at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier$hasApkCorrectCertificate$1.invokeSuspend(CertificateVerifier.kt:0)
    ... 9 more
Caused by: java.util.NoSuchElementException: No element of the collection was transformed to a non-null value.
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil$getPackageArchiveInfo$2.invokeSuspend(PackageManagerUtil.kt:39)
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil$getPackageArchiveInfo$2.invoke(PackageManagerUtil.kt:0)
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil$getPackageArchiveInfo$2.invoke(PackageManagerUtil.kt:0)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil.getPackageArchiveInfo(PackageManagerUtil.kt:28)
    at de.marmaro.krt.ffupdater.security.FingerprintValidator$checkApkFile$2.invokeSuspend(FingerprintValidator.kt:31)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

Logs:

java.lang.RuntimeException: Failed to install ICERAVEN in the foreground.
    at de.marmaro.krt.ffupdater.activity.download.DownloadActivity.installApp(DownloadActivity.kt:371)
    at de.marmaro.krt.ffupdater.activity.download.DownloadActivity.access$installApp(DownloadActivity.kt:59)
    at de.marmaro.krt.ffupdater.activity.download.DownloadActivity$installApp$1.invokeSuspend(DownloadActivity.kt:0)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:241)
    at android.app.ActivityThread.main(ActivityThread.java:7604)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
Caused by: de.marmaro.krt.ffupdater.installer.exceptions.InstallationFailedException: Can't validate the signature of the APK file.
    at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier.hasApkCorrectCertificate(CertificateVerifier.kt:27)
    at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier.access$hasApkCorrectCertificate(CertificateVerifier.kt:11)
    at de.marmaro.krt.ffupdater.installer.impl.CertificateVerifier$hasApkCorrectCertificate$1.invokeSuspend(CertificateVerifier.kt:0)
    ... 9 more
Caused by: java.util.NoSuchElementException: No element of the collection was transformed to a non-null value.
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil$getPackageArchiveInfo$2.invokeSuspend(PackageManagerUtil.kt:39)
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil$getPackageArchiveInfo$2.invoke(PackageManagerUtil.kt:0)
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil$getPackageArchiveInfo$2.invoke(PackageManagerUtil.kt:0)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
    at de.marmaro.krt.ffupdater.security.PackageManagerUtil.getPackageArchiveInfo(PackageManagerUtil.kt:28)
    at de.marmaro.krt.ffupdater.security.FingerprintValidator$checkApkFile$2.invokeSuspend(FingerprintValidator.kt:31)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Device information: Key Value
FFUpdater version 79.2.5 (175) release F-Droid/other
Device moto g(7) play (channel, channel, msm8953)
Manufacturer motorola (motorola)
Supported ABIs armeabi-v7a, armeabi
Android version 10 (SDK: 29)
OS ilclbld30, hudsoncm, release-keys, 1611971541000
Tobi823 commented 20 hours ago

I'm currently at vacation and cant debug this code.

But it looks like that the Iceraven APK was not signed.

Tobi823 commented 20 hours ago

I can install Iceraven on my Fairphone 4. I think that the released APK should be fine.

Can you try to manually download the APK from GitHub + install it.