Я столкнулся с тем же сообщением об ошибке «Ошибка анализа: проблема с парсингом пакета» с моими подписанными APK, но я подозреваю, что это может быть вызвано разными причинами.
Чтобы проверить это, я сделал следующее:
Настройка Windows 8.1 Eclipse ADT Build: v22.6.2-1085508
Я создал типичное новое приложение Helloworld, принимающее все значения по умолчанию.
Я побежал приложение на эмуляторе и живое устройство успешно.
Затем я загрузил и установил apk на свое живое устройство и успешно выполнил его.
Он сгенерировал apk в папке bin с размером 782 КБ.
Затем я экспортировал приложение Helloworld в ту же папку bin, подписывая приложение из моего хранилища ключей, которое ранее использовалось для продвижения в Google Play.
Он создал APK размером 385 КБ (заменив оригинальный apk).
Я загрузил apk на свое устройство, и когда я пошел его устанавливать, я получил ошибку «Ошибка анализа: есть проблема синтаксического анализа пакета " (это тот же пакет, который загружен и установлен, когда он выполнен в виде не экспортируемой формы).
В качестве альтернативы , с MTCNN и OpenCV (также требуются другие зависимости, включая TensorFlow), вы можете:
1 Выполнить обнаружение лица (ввести изображение, вывести все поля обнаруженные лица):
from mtcnn.mtcnn import MTCNN
import cv2
face_detector = MTCNN()
img = cv2.imread("Anthony_Hopkins_0001.jpg")
detect_boxes = face_detector.detect_faces(img)
print(detect_boxes)
[{'box': [73, 69, 98, 123], 'trust': 0.9996458292007446, 'keypoints': {'left_eye': (102, 116), 'right_eye': (150, 114), 'nose': (129, 142), 'mouth_left': (112, 168), 'mouth_right': (146, 167)}}]
2 сохранить все обнаруженные лица в отдельных файлах :
for i in range(len(detect_boxes)):
face_img = img[detect_boxes[i]["box"][1]:detect_boxes[i]["box"][1] + detect_boxes[i]["box"][3], detect_boxes[i]["box"][0]:detect_boxes[i]["box"][0] + detect_boxes[i]["box"][2]]
cv2.imwrite("face-%.3d.jpg" % (i+1), face_img)
3 или Рисовать прямоугольники всех обнаруженных лиц:
for box in detect_boxes:
pt1 = (box["box"][0], box["box"][1]) # top left
pt2 = (box["box"][0] + box["box"][2], box["box"][1] + box["box"][3]) # bottom right
cv2.rectangle(img, pt1, pt2, (0,255,0), 2)
cv2.imwrite("detected-boxes.jpg", img)