mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-04 14:30:30 +03:00
port to androguard >= 4 and drop support for older than 3.3.3
This also makes androguard a hard requirement, which has been true for a while anyway. So the code that handles androguard as an optional requirement is removed. androguard from Debian/buster is new enough, so this does not seem like it will cause any problems.
This commit is contained in:
parent
cdc7c98707
commit
7a144a4762
5 changed files with 30 additions and 35 deletions
|
|
@ -8,7 +8,9 @@ echo_header() {
|
|||
|
||||
get_fdroid_apk_filename() {
|
||||
if [ -z $aapt ]; then
|
||||
python3 -c "from androguard.core.bytecodes.apk import APK; a=APK('$1'); print(a.package+'_'+a.get_androidversion_code()+'.apk')"
|
||||
appid=$(androguard apkid "$1" | sed -En 's/ +"([a-z][^"]+)",$/\1/ip')
|
||||
versionCode=$(androguard apkid "$1" | sed -En 's/ +"([0-9]+)",$/\1/p')
|
||||
echo "${appid}_${versionCode}.apk"
|
||||
else
|
||||
$aapt dump badging "$1" | sed -n "s,^package: name='\(.*\)' versionCode='\([0-9][0-9]*\)' .*,\1_\2.apk,p"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
import copy
|
||||
import git
|
||||
import glob
|
||||
import hashlib
|
||||
import inspect
|
||||
import json
|
||||
import logging
|
||||
|
|
@ -20,11 +21,18 @@ import unittest
|
|||
import yaml
|
||||
import zipfile
|
||||
import textwrap
|
||||
from binascii import hexlify
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
from testcommon import TmpCwd, mkdtemp
|
||||
from unittest import mock
|
||||
|
||||
try:
|
||||
# these were moved in androguard 4.0
|
||||
from androguard.core.apk import APK
|
||||
except ImportError:
|
||||
from androguard.core.bytecodes.apk import APK
|
||||
|
||||
try:
|
||||
from yaml import CSafeLoader as SafeLoader
|
||||
except ImportError:
|
||||
|
|
@ -581,13 +589,6 @@ class UpdateTest(unittest.TestCase):
|
|||
self.assertEqual(good_fingerprint, sig,
|
||||
'python sig was: ' + str(sig))
|
||||
# check that v1 and v2 have the same certificate
|
||||
try:
|
||||
import hashlib
|
||||
from binascii import hexlify
|
||||
from androguard.core.bytecodes.apk import APK
|
||||
except ImportError:
|
||||
print('WARNING: skipping rest of test since androguard is missing!')
|
||||
return
|
||||
apkobject = APK(apkpath)
|
||||
cert_encoded = apkobject.get_certificates_der_v2()[0]
|
||||
self.assertEqual(good_fingerprint, sig,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue