2

I am trying to build a playbook app using the QT libraries recently released by rim.

The app builds and deploys fine if I use the default bar-descriptor.xml, but the bar file is ~80MB in size. I would like to reduce the size. I have tried using a modified bar-descriptor.xml which only includes the needed libraries but I get

 Failed to load platform plugin "blackberry". Available platforms are: 
 Minimal

The original bar-descriptor.xml file is

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<qnx xmlns="http://www.qnx.com/schemas/application/1.0">
<id>ID</id>
<name>QTMediaPlayer</name>
<versionNumber>1.0.0</versionNumber>
<description>DESCRIPTION</description>

<initialWindow>
    <systemChrome>none</systemChrome>
    <transparent>false</transparent>
    <autoOrients>true</autoOrients>
    <aspectRatio>landscape</aspectRatio>
</initialWindow>

<env var="QML_IMPORT_PATH" value="app/native/imports"/>
<env var="QT_PLUGIN_PATH" value="app/native/plugins"/>
<env var="LD_LIBRARY_PATH" value="app/native/lib"/>
<arg>-platform</arg>
<arg>blackberry</arg>

<action system="true">run_native</action>
<asset entry="true" path="QTMediaPlayer" type="Qnx/Elf">QTMediaPlayer</asset>

<asset path="splashscreen.png">splashscreen.png</asset>
<asset path="icon.png">icon.png</asset>
<asset path="qml">qml</asset>

<!-- These values will be replaced when deploying in Qt Creator -->
<asset path="%QT_INSTALL_LIBS%">lib</asset> 
<asset path="%QT_INSTALL_PLUGINS%">plugins</asset>
<asset path="%QT_INSTALL_IMPORTS%">imports</asset>

<icon><image>icon.png</image></icon>
<splashscreen>splashscreen.png</splashscreen>
</qnx>

The modified version is

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<qnx xmlns="http://www.qnx.com/schemas/application/1.0">
<id>ID</id>
<name>QTMediaPlayer</name>
<versionNumber>1.0.0</versionNumber>
<description>DESCRIPTION</description>

<initialWindow>
    <systemChrome>none</systemChrome>
    <transparent>false</transparent>
    <autoOrients>true</autoOrients>
    <aspectRatio>landscape</aspectRatio>
</initialWindow>

<env var="QML_IMPORT_PATH" value="app/native/imports"/>
<env var="QT_PLUGIN_PATH" value="app/native/plugins"/>
<env var="LD_LIBRARY_PATH" value="app/native/lib"/>
<arg>-platform</arg>
<arg>blackberry</arg>

<action system="true">run_native</action>
<asset entry="true" path="QTMediaPlayer" type="Qnx/Elf">QTMediaPlayer</asset>

<asset path="splashscreen.png">splashscreen.png</asset>
<asset path="icon.png">icon.png</asset>
<asset path="qml">qml</asset>

<!-- These values will be replaced when deploying in Qt Creator -->
<asset path="%QT_INSTALL_LIBS%">lib</asset>
<asset path="%QT_INSTALL_LIBS%/libQtCore.so.4.8.1" type="Qnx/Elf">lib/libQtCore.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/libQtDeclarative.so.4.8.1">lib/libQtDeclarative.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/libQtScript.so.4">lib/libQtScript.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/libQtGui.so.4">lib/libQtGui.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/libQtNetwork.so.4">lib/libQtNetwork.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/libQtXmlPatterns.so.4">lib/libQtXmlPatterns.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/libQtSql.so.4">lib/libQtSql.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/libQtSvg.so.4">lib/libQtSvg.so.4</asset>
<asset path="%QT_INSTALL_LIBS%/pkgconfig">lib/pkgconfig</asset>
<asset path="%QT_INSTALL_LIBS%/fonts">lib/fonts</asset>

<asset path="%QT_INSTALL_PLUGINS%">plugins</asset>
<asset path="%QT_INSTALL_IMPORTS%">imports</asset>

<icon><image>icon.png</image></icon>
<splashscreen>splashscreen.png</splashscreen>
</qnx>
4

1 回答 1

0

尝试添加

<asset path="${QNX_TARGET}/../target-override/armle-v7/usr/lib/qt4/plugins/platforms/libblackberry.so" type="Qnx/Elf">lib/platforms/libblackberry.so</asset>
于 2012-04-22T18:36:58.180 回答