所以,要做到这一点的方法是,不幸的是,改变J2ME - 波兰源!如此bug report中所述,J2ME Polish构建框架(版本2.1.4)不会将RIM-MIDlet-Flags-x JAD属性传递给RAPC。
的变化是相对简单的 - 仅仅传递如果在JAD中定义的RIM-的MIDlet-标志-1的值,否则将其设置为零(作为原始2.1.4源一样)。
的差异(从2.1.4)来源:
Index: /enough-polish-build/source/extensions/de/enough/polish/blackberry/JarToCodFinalizer.java
===================================================================
--- /enough-polish-build/source/extensions/de/enough/polish/blackberry/JarToCodFinalizer.java (revision 315)
+++ /enough-polish-build/source/extensions/de/enough/polish/blackberry/JarToCodFinalizer.java (revision 316)
@@ -36,6 +36,7 @@
import java.util.Calendar;
import java.util.Locale;
import java.util.Map;
+import java.util.List;
import java.util.Properties;
import org.apache.tools.ant.BuildException;
@@ -185,6 +186,13 @@
}
}
File iconFile = null;
+ Map jadProperties;
+ try {
+ jadProperties = FileUtil.readPropertiesFile(jadFile, ':');
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new BuildException("Unable to read JAD file " + e.toString());
+ }
if (mainClassName != null) {
try {
/*
@@ -230,12 +238,26 @@
"MicroEdition-Configuration: CLDC-1.1",
//"MIDlet-1: Demo," + iconUrl + ",",
"MIDlet-1: " + env.getVariable("MIDlet-Name") + "," + iconUrl + ",",
- //"MIDlet-Icon: " + iconUrl,
- "RIM-MIDlet-Flags-1: 0"
+ //"MIDlet-Icon: " + iconUrl
};
+ /* Ensure that if RIM-MIDlet-Flags is defined in the JAD, it is
+ * passed on to RAPC to create the COD file.
+ * See https://developer.berlios.de/bugs/?func=detailbug&group_id=1246&bug_id=16901
+ * for details.
+ */
+ ArrayList newEntriesList = new ArrayList(Arrays.asList(newEntries));
+ final String flagsKey = "RIM-MIDlet-Flags-1";
+ String flagString = (String)jadProperties.get(flagsKey);
+ if (flagString == null) {
+ flagString = "0";
+ }
+ flagString = flagString.trim();
+ System.out.println("JarToCodFinalizer setting " + flagsKey + ": " + flagString);
+ newEntriesList.add(flagsKey+ ": " + flagString);
+
File rapcFile = new File(jadFile.getParent(), codName + ".rapc");
- FileUtil.writeTextFile(rapcFile, newEntries);
+ FileUtil.writeTextFile(rapcFile, newEntriesList);
} catch (IOException e) {
// this shouldn't happen
e.printStackTrace();
@@ -367,7 +389,6 @@
// now rewrite JAD file so that it is ready for OTA download:
// (first backup JAD file:)
//FileUtil.copy(jadFile, new File(jadFile.getParent(), jadFile.getName() + ".bak"));
- Map jadProperties = FileUtil.readPropertiesFile(jadFile, ':');
Object[] keys = jadProperties.keySet().toArray();
for (int i = 0; i < keys.length; i++) {
String key = (String) keys[i];
承诺一些更改请参阅波兰线程http:// www。j2mepolish.org/forum/viewtopic.php?p=3379#3379 – drubin 2010-04-07 21:09:51