今天我尝试在我的Android应用程序中包含apache.commons.codec包,但无法运行它.Android找不到方法ord.apache.commons.codec.binary.*并在DDMS中输出以下错误
01-12 08:41:48.161:ERROR/dalvikvm(457):找不到方法org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString,从方法com.dqminh.app.util.Util.sendRequest引用
01-12 08:41:48.161:WARN/dalvikvm(457):VFY:无法解析静态方法10146:Lorg/apache/commons/codec/binary/Base64; .encodeBase64URLSafeString([B] Ljava/lang/String;
01-12 08:41:48.161:WARN/dalvikvm(457):VFY:在0x0004拒绝操作码0x71
有关如何解决这个问题的任何线索?非常感谢.
我按照这里的说明在eclipse中为我的Android应用程序添加了来自apache.org(commons-codec-1.4.jar)的公共编解码器.代码中没有错误.但是当我运行应用程序并调用使用编解码器的函数时,应用程序停止并需要关闭.
在logCat中说:
Android Runtime:java.lang.NoSuchMethodError:org.apache.commons.codec.binary.Base64.encodeBase64String
代码行是:String tmpStr = Base64.encodeBase64String(msg); // msg是一个byte []
该应用程序适用于最低SDK版本= 7(Android 2.1),因此我无法使用Android Base64
不知道怎样才能解决问题?
我正在寻找解码以下JWT使用Apache Commons Codec.我们怎么做到这一点?
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0ZXN0Iiwicm9sZXMiOiJST0xFX0FETUlOIiwiaXNzIjoibXlzZ
WxmIiwiZXhwIjoxNDcxMDg2MzgxfQ.1EI2haSz9aMsHjFUXNVz2Z4mtC0nMdZo6bo3-x-aRpw
Run Code Online (Sandbox Code Playgroud)
这应该检索Header,Body并且Signature部分.什么代码?
我有以下代码sun.misc.BASE64Encoder:
BASE64Decoder decoder = new BASE64Decoder();
byte[] saltArray = decoder.decodeBuffer(saltD);
byte[] ciphertextArray = decoder.decodeBuffer(ciphertext);
Run Code Online (Sandbox Code Playgroud)
并希望将其转换为org.apache.commons.codec.binary.Base64.我已经浏览了API,文档等,但我找不到似乎匹配的东西并给出相同的结果值.
我将jpg图像存储在数据库中(作为字节数组).我想避免在显示在网页上之前删除文件系统.
单元测试表明数据库存储和检索工作没有损坏.可以从数据库中提取Fies并将其转换回jpg文件
图像已转换为bytearray并使用以下代码存储在数据库中:
public static byte[] getImageAsBytes(BufferedImage buffer) throws IOException
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(buffer, "jpg", baos);
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();
return imageInByte;
}
Run Code Online (Sandbox Code Playgroud)
我有一个ViewWrapperMediaImage类,它包含从数据库中检索的字节数组.该类还有一个将bytearray转换为base64 String的方法.
package jake.prototype2.controller.viewwrapper;
import org.apache.commons.codec.binary.Base64;
import jake.prototype2.model.assessment.MediaImage;
import jake.prototype2.model.assessment.TestStructureException;
import jake.prototype2.model.structure.InterfacePersistenceBean;
public class ViewWrapperMediaImageCreate extends ViewWrapperTestContentElementCreate
{
private byte[] image;
protected String mediaFileName;
private static final long serialVersionUID = 4181515305837289526L;
public ViewWrapperMediaImageCreate(InterfacePersistenceBean persistenceBean) throws TestStructureException
{
....
}
}
public byte[] getImage()
{
return image;
}
public String generateBase64Image()
{
return …Run Code Online (Sandbox Code Playgroud) 我的Android库有问题.
我想使用库org.apache.commons.codec.binary.Hex(版本1.6)中的Hex.encodeHexString(字节数组)方法
在我的Android平台(SDK 2.3.1)上,commons-codec库版本1.3已经存在但该方法在此版本中尚不存在(只有encodeHex()).
我将版本1.6的jar库添加到我的Eclipse项目中(到/ libs目录中)但是当我在Emulator上运行项目时,我得到了这个:
E/AndroidRuntime(1632): FATAL EXCEPTION: main
E/AndroidRuntime(1632): java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHexString
Run Code Online (Sandbox Code Playgroud)
我如何指出操作系统在哪里是好的库?
我在Mac OS X上使用Eclipse Juno和Java 1.6.0
抱歉我的英文不好,并提前致谢!
编辑:我的问题可以用jarjar工具显然解决. http://code.google.com/p/google-http-java-client/issues/detail?id=75
有人可以帮我使用这个工具吗?我不知道如何创建Ant Manifest或jar文件.
谢谢
apache android conflict nosuchmethoderror apache-commons-codec
我使用URLCodec的Apache的百科全书编解码器编码的网址,但其编码空间,+还不如%20
为什么?什么是解决方案?
我将使用一种算法来编码从XML文件中检索的可变长度但非常长的String字段,然后该编码数据应该保留在数据库中.
后来,当我收到第二个文件时,我需要从数据库中获取编码数据(先前存储过的),然后对其进行解码并使用新数据验证是否重复.
我试过org.apache.commons.codec.binary.Base64它有2种方法:
encodeBase64(Byte[] barray)decodeBase64(String str)它完美无缺,解决了我的问题.但它将55个字符串转换为仅6个字符串.
所以我想知道是否存在这些算法编码2个字符串的情况,这些字符串非常大并且只有1个字符不匹配(例如)到相同的编码字节数组中.
我Base64不太了解课程,但如果有人能帮助我,那将非常有帮助.
如果你可以建议任何其他算法使一个大的String短的固定长度并解决我的目的,我将很乐意使用它.
提前致谢.
我的目标是对文件进行编码并将其压缩到java中的文件夹中.我必须使用Apache的Commons-codec库.我能够编码和压缩它并且它工作正常但是当我将其解码回原始形式时,看起来该文件尚未完全编码.看起来缺少一些零件.谁能告诉我为什么会这样?
我还附上了我的代码部分供您参考,以便您可以相应地指导我.
private void zip() {
int BUFFER_SIZE = 4096;
byte[] buffer = new byte[BUFFER_SIZE];
try {
// Create the ZIP file
String outFilename = "H:\\OUTPUT.zip";
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
outFilename));
// Compress the files
for (int i : list.getSelectedIndices()) {
System.out.println(vector.elementAt(i));
FileInputStream in = new FileInputStream(vector.elementAt(i));
File f = vector.elementAt(i);
// Add ZIP entry to output stream.
out.putNextEntry(new ZipEntry(f.getName()));
// Transfer bytes from the file to the ZIP file
int len;
while ((len = in.read(buffer)) > 0) …Run Code Online (Sandbox Code Playgroud) 运行:
mvn编译
产生错误:
软件包org.apache.commons.codec.binary不存在
pom.xml包括:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
ls〜/ .m2 / repository / commons-codec / commons-codec / 1.10
返回值:
commons-codec-1.10.jar
commons-codec-1.10.jar.sha1
commons-codec-1.10.pom
commons-codec-1.10.pom.sha1
_remote.repositories
Run Code Online (Sandbox Code Playgroud)
jar tvf commons-codec-1.10.jar | grep二进制
返回值:
org/apache/commons/codec/binary/
org/apache/commons/codec/binary/Base32.class
org/apache/commons/codec/binary/Base32InputStream.class
org/apache/commons/codec/binary/Base32OutputStream.class
org/apache/commons/codec/binary/Base64.class
org/apache/commons/codec/binary/Base64InputStream.class
org/apache/commons/codec/binary/Base64OutputStream.class
org/apache/commons/codec/binary/BaseNCodec$Context.class
org/apache/commons/codec/binary/BaseNCodec.class
org/apache/commons/codec/binary/BaseNCodecInputStream.class
org/apache/commons/codec/binary/BaseNCodecOutputStream.class
org/apache/commons/codec/binary/BinaryCodec.class
org/apache/commons/codec/binary/CharSequenceUtils.class
org/apache/commons/codec/binary/Hex.class
org/apache/commons/codec/binary/StringUtils.class
Run Code Online (Sandbox Code Playgroud)
Pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>dashboard</groupId>
<artifactId>dashboard</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Dashboard</name>
<description>Dashboard</description>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.ocpsoft</groupId>
<artifactId>prettyfaces-jsf2</artifactId>
<version>3.3.2</version>
</dependency>
...
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
...
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<releases>
<enabled>false</enabled> …Run Code Online (Sandbox Code Playgroud)