Как упаковать статические файлы, необходимые моему серверу Android Restlet?

Я использую Рестлет 2.3.2.

Я создаю активность Android, на которой работает сервер сервлетов. Я хотел бы упаковать некоторые файлы (хранилище ключей и каталог статических веб-файлов) с полученным APK и сделать их доступными для Restlet.

Прямо сейчас я поместил эти файлы в /storage/sdcard0. Вот код, который действительно работает с файлами, расположенными в этом месте:

Server server = component.getServers().add(org.restlet.data.Protocol.HTTPS, port);
component.getClients().add(org.restlet.data.Protocol.FILE);

Series<Parameter> parameters = server.getContext().getParameters();
parameters.add("sslContextFactory", "org.restlet.engine.ssl.DefaultSslContextFactory");
parameters.add("keyStorePath", "/storage/sdcard0/ssl/keystore");
parameters.add("keyStorePassword", "password");
parameters.add("keyPassword", "password");
parameters.add("keyStoreType", "BKS");

parameters.add("keyManagerAlgorithm", KeyManagerFactory.getDefaultAlgorithm());

// Create an application
Application application = new Application() {
    @Override
    public Restlet createInboundRoot() {
        return new Directory(getContext(), "/storage/sdcard0/www/");
    }
};

component.getDefaultHost().attach("/static", application);

Я хотел бы упаковать эти файлы, поместив их в res/raw или assets в моем проекте Android, но я не знаю, как сделать их доступными для моего веб-сервера после перемещения.


person slaadvak    schedule 04.06.2015    source источник


Ответы (1)


вы можете изменить URL-адрес корня каталога и использовать протокол хлопка (который использует загрузчик классов):

component.getClients().add(org.restlet.data.Protocol.CLAP);

// Create an application
Application application = new Application() {
    @Override
    public Restlet createInboundRoot() {
        return new Directory(getContext(), "clap://class/assets/");
    }
};

Я не проверял именно ваш код, надеюсь, он у вас сработает.

person Thierry Boileau    schedule 05.06.2015
comment
Спасибо, я проверю это, как только у меня останется несколько минут! И как вы думаете, это может относиться и к пути к хранилищу ключей? - person slaadvak; 05.06.2015