每次我尝试在我的Motorola Xoom上安装我的应用程序时,我收到一个INSTALL_FAILED_DEXOPT错误.
以下是来自控制台的错误消息:
[2011-08-02 09:34:43 - Blade] Installation error: INSTALL_FAILED_DEXOPT
[2011-08-02 09:34:43 - Blade] Please check logcat output for more details.
[2011-08-02 09:34:43 - Blade] Launch canceled!
Run Code Online (Sandbox Code Playgroud)
这里是相应的logcat:
08-02 09:47:48.910: ERROR/PackageManager(142): Package com.theisenp.blade has mismatched uid: 10023 on disk, 10073 in settings
08-02 09:47:48.910: INFO/PackageManager(142): Linking native library dir for /data/app/com.theisenp.blade-1.apk
08-02 09:47:49.110: ERROR/dalvikvm(2094): Duplicate interface: 'Lgnu/trove/TIntIntProcedure;'
08-02 09:47:49.110: ERROR/dalvikvm(2094): Trouble with item 1108 @ offset 0x5d49c
08-02 09:47:49.110: ERROR/dalvikvm(2094): Cross-item verify of section type …Run Code Online (Sandbox Code Playgroud) 我有一个项目配置为使用Maven构建和运行.该项目依赖于特定于平台的本机库,我使用此处的策略来管理这些依赖项.
本质上,特定平台的.dll或.so文件被打包到jar中,并通过标识目标平台的分类器推送到Maven服务器.然后,maven-dependency-plugin解包特定于平台的jar,并将本机库复制到目标文件夹.
通常我会mvn exec:java用来运行Java程序,但是exec:java在与Maven相同的JVM中运行应用程序,这会阻止我修改类路径.由于必须将本机依赖项添加到类路径中,因此我不得不使用mvn exec:exec.这是pom的相关片段:
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<executable>java</executable>
<arguments>
<argument>-Djava.library.path=target/lib</argument>
<argument>-classpath</argument>
<classpath />
<argument>com.example.app.MainClass</argument>
</arguments>
</configuration>
</plugin>
...
Run Code Online (Sandbox Code Playgroud)
这适用于应用程序的默认配置,但我希望能够在命令行中指定一些可选参数.理想情况下,我想做这样的事情:
mvn exec:exec -Dexec.args="-a <an argument> -b <another argument>"
Run Code Online (Sandbox Code Playgroud)
不幸的是,指定exec.args变量会覆盖我在pom中的参数(这些参数是设置类路径并运行应用程序所必需的).有没有解决的办法?在命令行中指定一些可选参数而不覆盖我在pom中的内容的最佳方法是什么?
我正在尝试编译依赖于Xerces XML Parser的项目.该项目没有任何困难地为Windows编译,但我在使用Cygwin中的g ++编译时遇到了一些麻烦.
为了使用Xerces,我试图针对静态库编译我的代码libxerces-c.a.但是当我这样做时,我会得到如下错误:
/tmp/cc2QGvMh.o:test.cpp:(.text+0x3a): undefined reference to `xercesc_2_8::DOMImplementationRegistry::getDOMImplementation(unsigned short const*)'
Run Code Online (Sandbox Code Playgroud)
我已经检查过静态库ar,并确认它包含DOMImplementationRegistry.o定义我正在调用的函数的文件.
ar -t libxerces-c.a
...
DOMImplementationImpl.o
DOMImplementationRegistry.o
DOMLocatorImpl.o
...
Run Code Online (Sandbox Code Playgroud)
我还从库中提取了目标文件,并使用'nm'来确保我调用的函数实际存在:
ar -x libxerces-c.a
nm --demangle DOMImplementationRegistry.o
...
00000080 T xercesc_2_8::getDOMImplSrcVectorMutex()
00000300 T xercesc_2_8::DOMImplementationRegistry::getDOMImplementation(unsigned short const*)
000002a0 T xercesc_2_8::DOMImplementationRegistry::addSource(xercesc_2_8::DOMImplementationSource*)
...
Run Code Online (Sandbox Code Playgroud)
由于我可以为Windows编译所有内容但不能用g ++编译,我认为错误可能在链接器顺序中(类似于此问题中描述的问题).但是,即使更改了链接器顺序,我仍然会得到相同的编译器错误.我试过了两个
g++ -o test.exe test.cpp -Llib -lxerces-c
Run Code Online (Sandbox Code Playgroud)
和
g++ -o test.exe test.cpp lib/libxerces-c.a
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我是Java的初学者,遇到过这行代码:
Button orderButton = (Button)findViewById(R.id.order);
Run Code Online (Sandbox Code Playgroud)
什么是(Button)当它是括号里面是什么意思?
把它放在里面的术语是什么?
我正在开发基于UDP多播构建的现有网络库的Chrome实现.希望彼此通信的客户端绑定到相同的多播地址和端口.为避免地址冲突,库实现在创建套接字时设置"重用地址"选项.例如,Java实现包括如下所示的内容:
...
MulticastSocket socket = new MulticastSocket(port);
socket.setReuseAddress(true);
socket.joinGroup(address);
...
Run Code Online (Sandbox Code Playgroud)
不幸的是,chrome.sockets.udpAPI 似乎没有相应的选项.这意味着如果我在本地计算机上的另一个进程中运行网络库(一个相对常见的用例),我在尝试绑定Chrome应用程序中的套接字时会出错.回调来自chrome.sockets.udp.bind我的错误代码-147.
我简要介绍了Native Client,但发现一些信息表明它还不支持UDP多播.
有没有办法在Chrome应用程序中重用UDP多播地址?或者其他浏览器可能提供该功能?
javascript sockets google-chrome google-chrome-extension google-chrome-app