Настройки

Mob-live.ru

24.12.2011 14:42

Подписываем (сертифицируем) java приложения и java игры

Устанавливая Java приложения / игры, требующие доступ во внешний источник, будь то память телефона, flash карта, интернет или камера, вы сталкиваетесь с проблемой, когда телефон постоянно спрашивает разрешение на доступ приложения к чему-либо.

Данная статья описывает способ, как избавиться от запросов, и дать Java приложению / игре любые привилегии, с помощью программы BeHappy.

Подробная инструкция:
Нужное ПО:

  • Java Runtime Environment (~13 МБ)
    Поставили и забыли.
  • WinRAR (в архиве 14.57 Mb)
    (должен быть установлен до установки BeHappy)
  • MobiMB 3.6.1 Rus (в архиве 969.24 Kb) (для S40 обязательно, для S60 не помешает)
    Устанавливаем.
  • BeHappy (в архиве 80.08 Kb)
    Устанавливаем.

    Установка сертификата в телефон
    На Series 40 3rd Edition:
    Через MobiMB заливаем содержимое "user" из архива BeHappy в папку телефона "A:\Hiddenfolder\certificates\user\".
    На Series 60:
    Заливаем сертификат exp.cer (в папке "auth" из архива BeHappy) в смартфон и устанавливаем его. При установке отмечаем пункт "Установка приложений".

    Сертификация мидлета
    1. Запускаем BeHappy.
    2. Устанавливаем Permissions в соответствии с требованиями приложения. Можно установить автоматический способ, а можно назначить самостоятельно. Также появилась возможность добавлять Permissions в соответствии с предустановками. Пока, что в базе предустановок лишь небольшое количество приложений, но они пополняются по мере возможностей.
    а) Создавать автоматически - данный способ чаще всего не работает, т.к. разработчики не всегда вносят список нужных Permissions в сам мидлет. Но, если они есть, то рекомендуется ставить этот пункт;
    б) Назначить следующие - выбрав данный пункт, нужно галочками пометить нужные права необходимые приложению/игре. Делаем это наугад. Не сложно догадаться, если вы ставите файл менеджер, то ему нужен доступ к файловой системе (чтение/запись), а если интернет браузер-то доступ в интернет (в данном случае Socket) и т.д.
    Не стоит забывать, что для разных приложений нужны разные Permissions, не забывайте переназначать их, когда подписываете новое приложение.
    3. Программа настроена. Осталось только подписать. Запросто !!!
    а) Drag&Drop мидлета (.jar или .jad) на форму программы;
    б) Нажимаем Открыть на форме программы, через контекстное меню формы или трея. В появившемся окне выбираем нужный файл;
    в) Через проводник правой кнопкой по файлу мидлета -> Подписать. (Это делайте, если точно знаете, что установленные Permissions подходят)

    Теперь осталось лишь добавить "то, что получилось" (.jar файл и одноименный .jad) в телефон
    На Series 40 3rd Edition:
    1. Заливаем "то, что получилось" в телефон.
    2. Выбираем приложение (из п1) нажимаем Функции -> Доступ. Устанавливаем Разрешено на нужный доступ.
    [На Series 60:
    1. Заливаем "то, что получилось" в смартфон.
    2. Устанавливаем ОБЯЗАТЕЛЬНО ЧЕРЕЗ JAD.
    3. Через диспетчер приложений, в настройках установленного приложения, ставим нужные пункты.

    TroubleShooting

    Q: Приложение/игра начала просить сертификат или стала недопустимым приложением.
    A: Появление столь странного глюка мне не понятно до сих пор, но решается перезагрузкой телефона и/или вытаскиванием flash карты, иногда требуется удалить некоторые приложения или игры.
    A: Временно лечится следующим образом:
    1) Перезапускаем телефон;
    2) На приложении функции-> доступ приложения-> доступ к данным-> запись м/медии- "только первый". Перезапускаем телефон.
    3) После включения функции-> доступ приложения- ставим где возможно "разрешить".

    Q: MultiTime сборка при перемещении начала просить сертификат.
    A: Это получается, из-за того, что при перемещении такого приложения, jad файл остается на месте. Природа глюка не известна.

    Q: Все сделано правильно, но приложение все равно остается недопустимым.
    A: Назначены лишние Permissions, в этом случае уберите все лишние и подпишите заново.
    A: Нужно удалить предустановки из манифеста. Открываем приложение WinRAR'ом, в папке META-INF открываем файл MANIFEST.MF, в нем удаляем строки

    Код:

    Code
    MIDlet-Permissions-Opt:...

    и

    Код:

    Code
    MIDlet-Permissions: javax.microedition.io.Connector.http

    Сохраняем изменения, соглашаемся с заменой. Подписываем, устанавливаем.
    A: Возможно, у вас установлен старый дистрибутив JRE, обновите его.
    A: Если вы что-то меняли в настойках Java, не зная того, что делаете, просто назначьте настройки по умолчанию (соответствующей кнопкой в настройках BeHappy).

    Q: Подписанное приложение работает, но не сохраняются настройки Доступа, вследствии приложению отказан любой доступ.
    A: В таком случае поможет замена файла атрибутов (_jmr_suite_attrib_file_.jmr из архива BeHappy в A:\Hiddenfolder).

    Q: Подписанное приложение работает, но не сохраняются настройки Доступа, вследствии приложению отказан любой доступ.
    A: В таком случае поможет замена файла атрибутов (_jmr_suite_attrib_file_.jmr из архива BeHappy в A:\Hiddenfolder).

    FAQ

    Q: Программа обновилась, нужно заново устанавливать сертификат в телефон?
    A: Нет, это делать не нужно.

    Q: Можно использовать BeHappy с JDK(Java Developers Kit) или подобными?
    A: Да, можно. Для этого при ошибке нужно указать на файл java.exe.
    В JDK он находится в %JDK Path%\bin\java.exe, где %JDK Path% - путь установки JDK

    Q: У меня телефон 6270. Через MobiMB не видно папку certificates. Что делать.
    A: К сожалению, в вашем случае ничего не сделаешь. Возможно, в будущих прошивках папка certifictes станет доступна.

    Q: У меня смартфон на Symbian OS9 при установке сертификата в телефон нет пункта "Установка приложений". Естественно, подписанные приложения не работают.
    A: Да, такой способ работает на всех Symbian, кроме 9й версии.

  • Все характеристики
    Нашли ошибку? Выделите её, нажмите Ctrl + Enter и отправьте нам уведомление.

    Комментарии

    +1 проблема подключения к ПКВиктория 03.02.2012 18:15 #1
    при подключении к Пк через Usb на экране Пк появляется синий экран (типа МS Dos), пишет системную ошибку Windows, при подключении к другому Пк то же самое повторяется, у кого была такая проблема, помогите, пожалуйста!!!!!
    Цитировать

    Добавить комментарий


    Защитный код Обновить

    Rambler's Top100 Система Orphus