Я пытаюсь записать небольшое приложение с помощью bouncycastle алгоритм от BouncyCastleProvider.java, это говорит, что мы должны импортировать и добавить поставщика во время времени выполнения следующим кодом
import org.bouncycastle.jce.provider.BouncyCastleProvider;
Security.addProvider(new BouncyCastleProvider());
ошибка - импорт org.bouncycastle не может быть разрешен; во время ошибки импорта - BouncyCastleProvider не может быть разрешен к типу; при вызове addProvider
Я, хотя bouncycastle не предоставляют SDK Android 1.6, так думал об установке отдельно. как я должен сделать это? Если Bouncycastle поставляется наряду с SDK, что я должен сделать для предотвращения этих ошибок? Я использую Android 1.6, затмение-V3.4.0 на winXP.Заранее спасибо
Я не знаком с этой конкретной библиотекой. Однако вот общие инструкции о том, как включить библиотеку, поставляемую в виде файла «jar», в проект Android.
Загрузите jar-файл и поместите его где-нибудь на своей рабочей станции. Вы можете поместить его в корневой каталог проекта, в котором вы его устанавливаете, или, может быть, в каталог lib в корне.
В Eclipse выберите Project-> Properties, затем выберите Java Build Path. Затем нажмите «Добавить внешние файлы Jars», перейдите туда, куда вы поместили файл .jar, выберите его и нажмите «Открыть».
Теперь введите или вставьте код, который пытается использовать классы в банке. Если вам повезет, в левом поле появится значок лампочки. При нажатии на нее будет предложено добавить правильный оператор импорта в верхнюю часть вашего .java файла.
Есть еще кое-что, что может пойти не так. Библиотека может использовать содержимое java. * Или javax. *, Не поставляемое Android (в нем есть только подмножество этих библиотек). Также он может иметь собственные дополнительные библиотечные зависимости. Есть и другие причины, по которым .jar может быть несовместим с платформой Android.
Обратите внимание, что это увеличит размер вашего .apk для размещения нового содержимого.
Вам не нужно явно добавлять BouncyCastle в качестве провайдера. Как вы говорите, он уже включен в Android.
Вот что я делаю, чтобы получить шифр BouncyCastle AES.
SecretKeyFactory keyFac = SecretKeyFactory.getInstance("PBEWithSHA256And256BitAES-CBC-BC");
Если вы посмотрите в BouncyCastleProvider.java , вы увидите ссылку на PBEWithSHA256And256BitAES-CBC-BC вместе с несколькими другими шифрами, предоставленными BouncyCastle.