Prevent re-signing of prebuilt apps
The apps get 're-signed' during the build using the PREBUILT_CERTIFICATE
. This works for official builds, when the PREBUILT_CERTIFICATE
is one of Iodé's signing keys. But in unofficial builds, they are signed either with the builder's own keys, or with test keys. When this is done, the apps cannot be updated via F-Droid, because the signature of the re-signed, installed apps does not match the versions in Iodé's f-Droid repo.
The affected apps are: FakeStore GeometricWeather GmsCore GsfProxy Iode IodeBrowser News OpenCamera PdfViewerPlus
An additional problem is that some signatures are 'stripped' during the deodexing phase of the build. For some apps the deodexed app ends up unsigned, and so will not run.
The affected apps are: GsfProxy & IodeBrowser
A fix for the 're-signing' issue is to use LOCAL_CERTIFICATE := PRESIGNED
instead of LOCAL_CERTIFICATE := $(PREBUILT_CERTIFICATE)
in the Android.mk
files.
For apps affected by the second problem adding the following line to the Android.mk
files means that the original apk
is installed rather than the signature stripped
version.
LOCAL_REPLACE_PREBUILT_APK_INSTALLED := $(LOCAL_PATH)/$(LOCAL_MODULE).apk
I am currently testing the above fixes. If they work, I will create a patch file with the necessary changes