我想编译“诺基亚/系列60E3”设备的J2ME波兰示例应用程序“空白”。我得到一个编译错误。我做错了什么?
似乎访问了父对象的私有属性,因此无法编译。如果我尝试将它编译为"Generic/AnyPhone“设备,它可以正常工作。
d:\Program Files (x86)\J2ME-Polish\samples\blank>ant j2mepolish
Buildfile: d:\Program Files (x86)\J2ME-Polish\samples\blank\build.xml
init:
j2mepolish:
[j2mepolish] J2ME Polish 2.4 (2013-08-27) (GPL License)
[j2mepolish] Loading device database...
[j2mepolish] Last build was interrupted or failed, now clearing work directory...
[j2mepolish] using locale [en_US]...
[j2mepolish] assembling resources for device [Nokia/Series60E3].
[j2mepolish] preprocessing for device [Nokia/Series60E3].
[j2mepolish] processing locale code...
[j2mepolish] Warning: unable to resolve path to API "securityapi". If this leads to problems, please register this API in [apis.xml].
[j2mepolish] compiling for device [Nokia/Series60E3].
[j2mepolish-javac-Nokia/Series60E3] warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[j2mepolish-javac-Nokia/Series60E3] Compiling 595 source files to d:\Program Files (x86)\J2ME-Polish\samples\blank\build\real\Nokia\Series60E3\en_US\classes
[javac] Internal J2ME Polish class: d:\Program Files (x86)\J2ME-Polish\samples\blank\build\real\Nokia\Series60E3\en_US\source\de\enough\polish\ui\SourcedLazyContainer.
[javac] symbol : variable lastPointerPressY
[javac] location: class de.enough.polish.ui.SourcedLazyContainer
[javac] this.lastPointerPressY = this.currentPointerDragY;
[javac] ^
[javac] Internal J2ME Polish class: d:\Program Files (x86)\J2ME-Polish\samples\blank\build\real\Nokia\Series60E3\en_US\source\de\enough\polish\ui\SourcedLazyContainer.
[javac] symbol : variable lastPointerPressYOffset
[javac] location: class de.enough.polish.ui.SourcedLazyContainer
[javac] this.lastPointerPressYOffset = newOffset;
[javac] ^
[javac] Internal J2ME Polish class: d:\Program Files (x86)\J2ME-Polish\samples\blank\build\real\Nokia\Series60E3\en_US\source\de\enough\polish\ui\SourcedLazyContainer.
[javac] symbol : variable lastPointerPressY
[javac] location: class de.enough.polish.ui.SourcedLazyContainer
[javac] this.lastPointerPressY = this.currentPointerDragY;
[javac] ^
[javac] Internal J2ME Polish class: d:\Program Files (x86)\J2ME-Polish\samples\blank\build\real\Nokia\Series60E3\en_US\source\de\enough\polish\ui\SourcedLazyContainer.
[javac] symbol : variable lastPointerPressYOffset
[javac] location: class de.enough.polish.ui.SourcedLazyContainer
[javac] this.lastPointerPressYOffset = newOffset;
[javac] ^
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 4 errors
[javac] An internal class of J2ME Polish could not be compiled. Please try a clean rebuild by either calling "ant clean j2mepolish" or by removing the working director
E-Polish\samples\blank\build\real".
[javac] If an API-class was not found, you might need to define where to find the device-APIs. Following classpath has been used: [d:\Program Files (x86)\J2ME-Polish\i
les (x86)\J2ME-Polish\import\cldc-1.1.jar;d:\Program Files (x86)\J2ME-Polish\import\midp-2.0.jar;d:/Program Files (x86)/J2ME-Polish/import/nokia-ui.jar;d:/Program Files (x
jar;d:/Program Files (x86)/J2ME-Polish/import/btapi.jar;d:/Program Files (x86)/J2ME-Polish/import/m3g.jar;d:/Program Files (x86)/J2ME-Polish/import/pdaapi.jar;d:/Program F
/jsr172.jar;d:/Program Files (x86)/J2ME-Polish/import/jsr180.jar;d:/Program Files (x86)/J2ME-Polish/import/m2g.jar].
BUILD FAILED
d:\Program Files (x86)\J2ME-Polish\samples\blank\build.xml:67: Unable to compile source code for device [Nokia/Series60E3]: Compile failed; see the compiler error output f发布于 2014-01-20 02:43:24
它看起来像是SourcedLazyContainer类中的一个错误。它们指的是lastPointerPressY和lastPointerPressYOffset字段,仅当设备有指针事件时才可用。它们在Container类中定义如下:
//#ifdef polish.hasPointerEvents
/** vertical pointer position when it was pressed the last time */
protected int lastPointerPressY;
/** scrolloffset when this container was pressed the last time */
protected int lastPointerPressYOffset;
/** time in ms when this container was pressed the last time */
protected long lastPointerPressTime;
//#endif由于您的目标设备没有此功能,因此未定义这些字段。在Generic/AnyPhone的情况下,此功能已定义,因此构建成功。您可以尝试将"hasPointerEvents“功能添加到您的devices.xml / custom-devices.xml文件中,或者在您的ant目标中设置polish.hasPointerEvents属性。
https://stackoverflow.com/questions/19645118
复制相似问题