相关疑难解决方法(0)

BlackBerry - 用于更复杂应用程序的Ant构建脚本

我无法为我们的生产应用程序创建Ant构建脚本.

我一直在阅读很多关于Ant和bb-ant-tools的文章.我已经关注了很多关于Ant和BB的stackoverflow问题(在评论中引用以"链接"问题).我想帮助一个比通常的"Hello World!"更复杂的脚本.风格的应用.我当前的构建过程完全在Eclipse中运行,并手动完成.

对于这个问题,我想问一下如何使用Ant来构建一个使用2个(或更多个)不同库项目(也需要构建)的项目,而根本不使用Eclipse?

我安装了Ant,bb-ant-tools.我已经在设备上构建并部署了一个基本的Hello World,使用这些工具遵循基本示例.我创建了一个构建脚本和一些属性文件; 但是当我运行脚本时,最终产品不能在手机上运行(手机用户界面在启动屏幕上冻结).


我有3个构建脚本,每个库一个,主应用程序一个.这些是相同的,除了项目名称(并且可以在某个时候组合成一个通用的导入脚本).3个java项目中的每一个都有一个与之相关的Ant属性文件.我还使用3个常用属性文件来定义常量,在JDE上存储信息和代码签名密码.

更新1:我已经更新了自初始发布以来的库属性文件.以前我设置type=library(基于RIM文档).根据我在这篇文章中概述的研究(BlackBerry - 在自己的项目中使用自己的JAR文件),我尝试改为type=midlet.这样可以获得更好的结果(至少在我的平台BB JDE 5.0上).

  • project.properties(对于我的应用):

    output=MyApp
    title=App
    type=cldc
    vendor=Richard
    version=1.0.7
    description=A nice app
    icon=icon.png
    
    Run Code Online (Sandbox Code Playgroud)
  • build.xml(除了顶部的名称外,所有相同的,并且2个库脚本没有在import.jars中声明的文件集):

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <project name="MyApp" default="build">
    
        <!-- BLACKBERRY ANT TOOLS -->
        <property name="bb-ant-tools.home" location="C:/development/tools/bb-ant-tools" />
        <taskdef resource="bb-ant-defs.xml" classpath="${bb-ant-tools.home}/bb-ant-tools.jar" />
    
        <!-- CONFIG FILES -->
        <property file="${common.basedir}/common.properties" />
        <property prefix="project" file="project.properties" />
    
        <!-- FOLDERS …
    Run Code Online (Sandbox Code Playgroud)

ant blackberry

9
推荐指数
1
解决办法
2849
查看次数

BlackBerry - Ant脚本将JAR包含在没有外部依赖项的项目中

这是后续行动:BlackBerry - 在自己的项目中使用自己的JAR文件BlackBerry - 用于更复杂应用程序的Ant构建脚本.现在已经在下面解决了这个问题.

目标

我想要:

  1. 使用Ant(bb-ant-tools)将我的库构建为JAR文件
  2. 在项目中包含该JAR文件
  3. 使用Ant将该项目构建到将在设备上运行的COD(没有外部COD文件).

重要的是使用Ant来完成构建的最后阶段.

我找到的针对此问题的所有帖子都使用Eclipse进行最终构建阶段(BlackBerry的详细信息- 在自己的项目中使用自己的JAR文件).


进展

  1. 我可以使用Ant将库项目构建到JAR中.
  2. 在Eclipse中,我可以将JAR文件添加到项目中,并根据需要构建它(单个COD,没有外部依赖项).它将在设备上运行.
  3. 在Ant中,我还可以创建一个依赖于额外COD库来包含运行时代码的构建 - 这接近我所需要的.

问题

我可以用Ant构建最终项目.但生成的COD文件不包含我的库中的任何运行时代码.

我读过的很多帖子都展示了如何使用库的额外COD文件来完成这项工作.我想避免这个.

如何使用Ant将JAR包含到没有外部依赖项的项目中?我相信这是可能的,因为我可以使用Eclipse来做到这一点.


解决方法

我目前的解决方法是将我的SDK /库项目作为源代码(根据esaj的答案)包含在内,而不是作为JAR文件.这比JAR方法有一些缺点,但我有一个成功运行在设备上的构建.


(我希望可以将这个问题与以下长链接列表交叉引用?)

StackOverflow链接:

这个给出了其他链接 - 非常有用:

这些不太有用:

ant blackberry

9
推荐指数
1
解决办法
1376
查看次数

如何在Blackberry项目中添加外部jar或zip文件

我想在我的BlackBerry项目中添加一个jar文件.我尝试通过以下方式添加jar文件 - >

  • 右键单击项目 - >属性 - >构建 - >导入的jar文件 - >添加

但在那之后,每当我尝试运行应用程序时,我都会收到"模块abc.jar未找到错误".

如何将jar文件添加到BlackBerry项目?

blackberry jde java-me

8
推荐指数
1
解决办法
1195
查看次数

Blackberry Apps - 将代码签名的jar导入应用程序项目

我正在开发一个Blackberry Java开发人员可以导入到他们项目中的库项目.它使用受保护的RIM API,要求它进行代码签名,我已经完成了.但是,我无法让我的Jar导入并使用简单的helloWorld应用程序.我正在使用eclipse插件Blackberry-JDE.

编辑:找到解决方案....

自从我找到解决方案后,我删除了我尝试过的东西,只留下了解决方案......

构建SDK/Libary(使用BB-ANT-TOOLS,无论是在eclipse还是独立)
步骤:

A)我必须
使用BB-ANT-TOOLS 将我的SDK的jar构建为'cldc'应用程序而不是'library' 项目.这解决了我上面遇到的大部分问题.

B)然后我添加了一个ANT任务来从步骤A中获取生成的JAR并执行以下操作:

  • 解压缩,
  • 编辑清单文件以删除"MicroEdition-Profile:MIDP-2.0"行 - 当您尝试将jar标记为导出时,此行会导致错误.
  • 然后重新拉上罐子.

注意:我写了一个砍下来的BB-ANT-TOOLS蚂蚁脚本,以展示如何使用它来完成上述两个步骤.该脚本包含在下面.

将SDK jar作为最终用户或在您自己的项目中使用.
然后在bb-eclipse中集成jar,你可以执行以下操作:

A)将jar添加到BuildPath

B)在"订购和导出"选项卡上的"Java构建路径"下,选择要导出的jar.这会导致rapc将jar构建到COD文件中,因此最后只有一个COD.

现在当用户构建这个项目时,jar会被集成到最终的cod文件中,并且很容易传送到手机或SIM卡.

<?xml version="1.0" encoding="UTF-8"?>
<project name="XXXXXMobileLib" default="full" basedir=".">
    <description>
  Description: Builds the BBLIB. Uses bb-ant-tools to build, sign and package for blackberry. 
    </description>

    <taskdef resource="bb-ant-defs.xml" classpath="BIN/BB_ANT_lib/bb-ant-tools.1.x.x.jar" />
    <property environment="env" />

    <!-- User defined Vars -->
    <property name="builderRoot" value="." />
    <property name="SIG_PASSWORD" value="XXXXXXXXX" />
    <property name="javaHome" value="${env.JAVA_HOME}" />
    <echo>${javaHome}</echo>
    <property name="jdehome" value="${env.BBJDE_HOME}\" />
    <property name="simulator" value="${jdehome}\simulator" />
    <property …
Run Code Online (Sandbox Code Playgroud)

blackberry blackberry-simulator blackberry-eclipse-plugin

5
推荐指数
1
解决办法
4010
查看次数

Blackberry 5.0 - 添加对Java Library Project的引用

在我看来,我想要实现的目标非常简单,但却变得令人难以置信的痛苦.

我有ProjectA,它是一个BlackBerry Application项目.我有ProjectB,这是一个Java库项目.我想从ProjectA引用ProjectB.我可以添加一个引用,但是当我运行ProjectA时,它不起作用.我有两个项目的源代码,都使用Java编译器1.4编译

我尝试了很多东西,但由于某种原因一切都失败了:

1. ProjectB上的pre-verify.exe 失败并显示错误"JAR文件创建失败,错误为-1"我可以看到已经创建了cod和jar文件,但是当将jar文件添加到ProjectA并运行它时,它没有不行.不确定我是否需要添加.cod文件.

2.创建新的BlackBerry Library Project并在ProjectA中引用它 我创建一个新项目ProjectC,然后将jar的jar添加到它.然后我在ProjectA中添加对ProjectC的引用.但是我无法从ProjectB导入类

请提出一条出路.我正在使用Eclipse插件并依赖Eclipse的构建功能

blackberry preverify

3
推荐指数
1
解决办法
1742
查看次数

Blackberry:将Library项目用作外部Jar时出现验证错误

我在Eclipse的Blackberry Java Plug-in中创建了两个Blackberry项目,即MyProjectApp(设置为应用程序项目)和MyProjectLib(设置为Library项目).现在我创建了一个简单的MainScreen类,如下所示:

public class SampleScreen  extends MainScreen {

    public SampleScreen (){
        RichTextField topbar = new RichTextField("hello world");
        add(topbar);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我将MyProjectLib导出为Jar文件,并在MyProjectApp中添加相同的外部Jar.现在我要使用以下方法触发SampleScreen:

public class MyProjectMain extends UiApplication{

     public static void main(String[] args) {

         MyProjectMain theApp = new MyProjectMain();       
        theApp.enterEventDispatcher();
    }

    public LangHostMain(){        
        // Push a screen onto the UI stack for rendering.
         pushScreen(new SampleScreen());
    }

}
Run Code Online (Sandbox Code Playgroud)

它给出了以下错误:

模块"MyProjectApp"存在验证错误.启动MyProjectApp时出错:模块"MyProjectApp"出现验证错误.

但是,如果我将SampleScreen类移动到MyProjectApp,它工作正常.导出Jar并使用它有什么问题?需要什么类型的验证?

verification blackberry jar

1
推荐指数
1
解决办法
727
查看次数