Estou desenvolvendo meu primeiro escopo, esperando entrar no concurso de confrontos de escopos.
Eu decidi criar um escopo de javascript. Estou me divertindo com o SDK e acompanhando o tutorial de escopos do javascript em
link
Eu também tenho lido outras documentações on-line e páginas de APIs.
Estou executando o Ubuntu 15.10, com o ppa do ubuntu-sdk-ppa-team ativado. Eu segui os guias sobre como instalar o SDK, criei meus destinos de cliques, instalei as ferramentas de desenvolvimento de escopos de javascript ... fiz tudo de acordo com o livro.
Comecei a desenvolver meu escopo com base no exemplo padrão de escopos de javascript fornecidos pelo SDK do Ubuntu.
Meu escopo (que é um escopo de freesound, btw) está começando a funcionar. Ele carrega e funciona muito bem na área de trabalho. Agora eu quero experimentar no meu telefone Aquaris, que acaba de ser atualizado com o novo OTA9.
Quando executo meu escopo com o telefone do Ubuntu como um alvo, obtenho o seguinte:
:-1: error: security:policy_groups_safe:freesound:debug: (REJECT) reserved policy group 'debug': not for production use
Parece que o SDK adiciona alguma mágica ao meu escopo para rodar no modo DEBUG. No entanto, o telefone não parece gostar disso.
Pesquisando nas configurações de execução do meu projeto, encontrei uma opção chamada Enable debug helper
na etapa UbuntuSDK click build
deploy. Se eu desabilitar essa opção, o erro anterior desaparece. Presumivelmente, a preciosa informação de depuração também desaparecerá (eu não pude verificar isso, porque há outro erro mais adiante).
Depois de desativar o assistente de depuração, tento executar meu projeto novamente para carregá-lo no telefone. Agora recebo outro erro:
Using a custom scopelauncher is not yet supported
Depois disso, nada mais acontece.
Percebi que o arquivo myscope/data/myscope.ini.in
tem a seguinte linha na seção [ScopeConfig]
:
ScopeRunner=./node_modules/unity-js-scopes/bin/unity-js-scopes-launcher %S %R
Talvez este seja o scoperunner personalizado ao qual o erro está se referindo? Eu tentei excluir essa linha e re-executando o projeto. Parece funcionar, como o SDK finalmente é capaz de carregar meu escopo para o telefone. No entanto, mesmo que o escopo seja carregado, ele não faz nada.
Agora estou tentando executá-lo novamente na área de trabalho (sem a linha scoperunner que excluí do arquivo ini do escopo) e ele também falha. Desta vez eu recebo alguma saída:
scoperegistry: no remote registry configured, only local scopes will be available
file:///usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Themes/Ambiance/1.2/ButtonStyle.qml:123:5: QML UbuntuShape: 'color' is deprecated. Use 'backgroundColor', 'secondaryBackgroundColor' and 'backgroundMode' instead.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Themes/Ambiance/1.2/ButtonStyle.qml:135:5: QML UbuntuShape: 'gradientColor' is deprecated. Use 'backgroundColor', 'secondaryBackgroundColor' and 'backgroundMode' instead.
file:///usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Themes/Ambiance/1.2/ButtonStyle.qml:123:5: QML UbuntuShape: 'image' is deprecated. Use 'source' instead.
file:///usr/share/unity8//ScopeTool.qml:139:23: Unable to assign null to QString
User agent string: "plugin=0.5.5+15.10.20150924-0ubuntu1&release=15.10"
Unable to add overview scope, can't find with ID: "scopes"
Dispatching search: "freesound.rgsilva_freesound" "" ""
scoperunner: unity::ResourceException: Cannot load scope freesound.rgsilva_freesound; tried in the following locations:
/home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/x86_64-linux-gnu/libfreesound.rgsilva_freesound.so
/home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/x86_64-linux-gnu/freesound.rgsilva_freesound.so
/home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/x86_64-linux-gnu/scope.so
/home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/libfreesound.rgsilva_freesound.so
/home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/freesound.rgsilva_freesound.so
/home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/scope.so
Exception history:
Exception #1:
unity::ResourceException: /home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/x86_64-linux-gnu/libfreesound.rgsilva_freesound.so: cannot open shared object file: No such file or directory
Exception #2:
unity::ResourceException: /home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/x86_64-linux-gnu/freesound.rgsilva_freesound.so: cannot open shared object file: No such file or directory
Exception #3:
unity::ResourceException: /home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/x86_64-linux-gnu/scope.so: cannot open shared object file: No such file or directory
Exception #4:
unity::ResourceException: /home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/libfreesound.rgsilva_freesound.so: cannot open shared object file: No such file or directory
Exception #5:
unity::ResourceException: /home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/freesound.rgsilva_freesound.so: cannot open shared object file: No such file or directory
Exception #6:
unity::ResourceException: /home/ricardo/dev/build-freesound-Ubuntu_SDK_Desktop_Kit-Default/src/scope.so: cannot open shared object file: No such file or directory
Caught an error from create_query(): unity::scopes::MiddlewareException: unity::ResourceException: RegistryObject::ScopeProcess::exec(): exec aborted. Scope: "freesound.rgsilva_freesound" took longer than 4000 ms to start.
Portanto, parece que a linha scoperunner é necessária para que o escopo seja executado, pelo menos na área de trabalho.
Estou perdido aqui. Como posso obter meu escopo para ser executado tanto na área de trabalho quanto no telefone?