Tag: bundle

OSGI Bundle-NativeCode给出错误“找不到本机代码的匹配”

我正在开发一个使用本机库librxtxSerial的OSGI包。 第一次,我不得不在树莓上部署这个包,所以我做了类似的事情: 我把本机库放在:lib / librxtxSerial.so(NB:INSIDE java项目)。 然后,在MANIFEST我写道: Bundle-NativeCode: lib/librxtxSerial.so 一切正常!!! 现在,问题是我要在使用不同处理器架构的其他嵌入式设备上部署相同的捆绑包(x86而不是ARM)。 所以,我已经下载了librxtxSerial库的x86版本,并修改了我的文件夹结构: – lib – x86 – librxtxSerial.so – arm – librxtxSerial.so 我用这种方式修改了我的MANIFEST: Bundle-NativeCode: lib/x86/librxtxSerial;processor=x86, lib/arm/librxtxSerial;processor=ARM_le 尝试编译(通过maven tycho插件)我总是得到同样的错误: No match found for native code: lib/x86/librxtxSerial; processor=x86, lib/arm/librxtxSerial; processor=ARM_le 我怎么解决这个问题?

将bundle传递给if语句

活动声明—->有2个button和一个textView (获取总金额) Activity Project1和Petrol —–>一个editText和一个保存button 活动索赔 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialogRadio(a1); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialogRadio(a2); } }); public void AlertDialogRadio(final int k) { final CharSequence[] ClaimsModel = {“Project1”, “Petrol”}; AlertDialog.Builder alt_bld = new AlertDialog.Builder(getActivity()); alt_bld.setTitle(“Select a Claims”); alt_bld.setSingleChoiceItems(ClaimsModel, -1, new DialogInterface .OnClickListener() […]

应用程序包Mac OS X Leopard

我在Mac OS X Tiger上有一个有效的应用程序包。 我很容易只能替换jar文件,一切都有效,因为我做了更改。 我现在接受那个应用程序包,当它在Leopard上时,我得到的错误信息是“无法打开此应用程序,因为此架构不支持”。 我认为这是因为Tiger是32位而Leopard是64位。 有没有办法让这个相同的应用程序包在Leopard上运行? 或者我必须制作一个全新的? 我不是Mac人,所以我在这里做的事情有限。

在传递Android DialogFragment参数时,onCreateDialog bundle agument意外地为null

我正在尝试使用DialogFragment在Android中显示一个基本对话框,使用对话框消息的参数,如StackOverflow线程和DialogFragment文档中所述 。 我的问题是onCreateDialog中的Bundle参数savedInstanceState总是显示为null,这意味着活动显示一个空对话框而不是带有消息的对话框。 如何从newInstance工厂方法获取非null的bundle内容以显示在onCreateDialog中? 或者我只是遗漏了别的东西? 我从文档中看到的唯一重要区别是我使用的是非静态类。 我希望积极的对话框按钮取决于消息的内容,所以这是故意的。 import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.DialogInterface; import android.os.Bundle; public class SampleDialog extends DialogFragment { public static final String DIALOG_MESSAGE = “dialogMessage”; private String dialogMessage; // arguments are handled through factory method with bundles for lifecycle maintenance public SampleDialog(){ } public static SampleDialog newInstance(String dialogMessage){ SampleDialog fragment […]

访问另一个osgi包中的资源?

我使用eclipse Plug-in项目向导(使用eclipse Helios)创建了两个OSGI包A和B. 在bundle BI的清单文件中添加了bundle A作为依赖项。 此外,我已经在A中导出了包,因此它们对于B是可见的。我还在包A中有一个.properties文件,我希望它对包B可见。在包中的build.properties窗格中,AI指定了: source.. = src/ bin.includes = META-INF/,\ .,\ bundle_A.properties 现在在BI中尝试使用以下命令加载.properties文件: private Properties loadProperties() { Properties properties = new Properties(); InputStream istream = this.getClass().getClassLoader().getResourceAsStream( “bundle_A.properties”); try { properties.load(istream); } catch (IOException e) { logger.error(“Properties file not found!”, e); } return properties; } 但是这会产生一个nullpointerexception(在类路径中找不到该文件)。 是否可以从捆绑包A中导出资源(就像导出包时一样)或以某种方式以另一种方式从B访问A中的文件(从捆绑包B访问捆绑包A的类加载器)?

karaf在组件工厂示例时不显示任何错误

我从这个链接尝试过组件工厂示例。 接口: package com.java.examplefactoryservice; public interface ExampleFactoryService { public void start(); public void stop(); } 工厂提供者: package com.java.examplecomponentfactoryserviceprovider; import java.util.Map; import org.apache.felix.scr.annotations.Activate; import org.apache.felix.scr.annotations.Component; import com.java.examplefactoryservice.ExampleFactoryService; @Component(name = “ExampleComponentFactoryServiceProvider”, factory = “example.factory.provider”) public class ExampleComponentFactoryServiceProvider implements ExampleFactoryService { @Activate public void activate(Map properties) { System.out.println(“Actiavted!!!”); } @Override public void start() { System.out.println(“Started !!!!”); } @Override […]

如何在Java中从DB加载资源包消息?

我可以动态加载资源包吗? 我可以动态编辑资源包吗? 如果我可以拥有这样的逻辑资源包(即位于上下文中而不是物理文件),那将是最好的。 有关: 如何从文件资源加载资源包?

在运行时在Eclipse中查找依赖包

Eclipse包(例如,在激活器代码中)如何在运行时找到依赖的Bundle实例? 我想找到Eclipse选择的捆绑包以满足依赖性要求,我不想自己解释清单。 一个例子:我想在我当前捆绑所依赖的所有捆绑包中找到名为“marker.txt”的所有资源。 也是传递依赖。 为了实现这一点,我需要能够找到所有这些捆绑包开始。

如何在执行java.io.File或FileInputStream时引用OSGi包中的包含文件

我正在使用aQute Bnd工具集来创建一个OSGi包,并打包了一些相关的“资源”文件。 这包括我创建的资源目录中的* .css文件和* .xsd文件。 我在bundle.bnd文件中包含以下内容: Include-Resource: resources/=resources/ 当我进行构建时,生成的* .jar文件在jar包文件的顶级目录的resources目录中包含* .css和* .xsd文件。 但是,在实际代码中,我很难尝试将其作为类路径的一部分引用: 我尝试过以下方法: new File(“resources/example.css”); 我也尝试过: URL cssFile = this.getClass().getResource(“resources/example.css”); try { file = new File(cssFile.toURI())); } catch(Exception e) { e.printStackTrace(); } 我得到一个NullPointException错误或无法找到文件IOException错误(取决于我使用的是哪一个)。 我在调试配置模式下运行Eclipse Equinox以及Apache Felix(我们用于部署)时遇到此错误。 注意我试图在BundleActivator之外的Java类中执行此操作。 我是否需要始终参考BundleActivator的上下文,例如? /* * (non-Javadoc) * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) */ @Override public void start(BundleContext context) throws Exception { /* […]

为什么Jar Bundler会进入Mac OS X Mountain Lion 10.8.2

有一个名为Jar Bundler苹果公司的应用程序,过去由Apple和Xcode分发。 Jar Bundler的目的是为Java应用程序创建Mac OS X应用程序包( *.app目录),直到版本6(1.6.x)为Mac OS X用户提供便利。 截至目前,你仍然可以得到 来自Apple的JDK 1.6.0_43 又名 适用于OS X 2013-002开发人员包的Java 2013年3月4日 对于当前的Mac OS X Mountain Lion 10.8.2来说 https://developer.apple.com/downloads/index.action# 但你不能得到Jar Bundler 。 我正在使用最新的Mac OS X 10.8.2和最新的Xcode 4.6(4H127),并安装了所有命令行工具 。 经过我所做的所有研究后,我希望它在这里: /usr/share/java/Tools/Jar Bundler.app 但是没有任何Jar Bundler 。 即使是全局搜索sudo find / -name Jar\ Bundler.app也没找到Jar Bundler 。 所以我的问题是: Jar Bundler最新的Xcode版本是什么 注意:我知道还有其他方法可以实现Jar Bundler在这里所做的事情,例如使用Mac OS X JarBundler […]