2013-10-07 32 views
0

我正在开发一个多平台应用程序,它将使用“F5隐写术”隐藏从设备摄像头捕获的JPG图像内的消息。 目前我的目标是制作一个android应用程序和桌面Java应用程序。 我从here 找到了“F5 Steganography”的jar文件我已经在Java桌面应用程序中成功实现了这个库,但问题出现在android实现中。 我已经在android项目中导入了jar文件,但是在嵌入和提取消息时,我面临着android上的问题。Android中的隐写和原生Java库支持问题

  • 提取问题

在提取物,我现在面临的问题是,进口图书馆使用“sun.security.provider.SecureRandom”,但Android是无法找到它。 这里是登录猫错误:

10-06 22:25:44.324: E/dalvikvm(32150): Could not find class 'sun.security.provider.SecureRandom', referenced from method crypt.F5Random.<init> 

现在我猜测的Android系统并不支持“sun.security.provider.SecureRandom”库,如果是这样,我该怎么办?我可以手动导入库吗? P.S我不想在“F5 Steganography”库代码中改变任何东西,因为它正在Java平台上使用。下面是引用代码:

public void clk1(View v){ 
    EditText eto=(EditText) findViewById(R.id.editText2); 
    EditText ett=(EditText) findViewById(R.id.editText3); 
    Extract e=new Extract(); 
    String information[] = new String[5]; 
    information[0]="-p"; 
    information[1]="123"; 
    information[2]="-e"; 
    information[3]=ett.getText().toString(); 
    information[4]=eto.getText().toString(); 
    e.main(information); 
} 
  • 嵌入问题

在嵌入,我面对类似于之前的问题。错误是说它无法在库中找到“james.JpegEncoder”类,但它存在于attached image中。

这里是数猫跟踪:

10-06 23:00:39.678: E/dalvikvm(410): Could not find class 'james.JpegEncoder', referenced from method main.Embed.main 

这里是参考代码:

public void clk0(View v){ 
    EditText eto=(EditText) findViewById(R.id.editText2); 
    EditText ett=(EditText) findViewById(R.id.editText3); 
    EditText eti=(EditText) findViewById(R.id.editText1); 
    Embed e=new Embed(); 
    String information[] = new String[8]; 
    information[0]="-e"; 
    information[1]=ett.getText().toString(); 
    information[2]="-p"; 
    information[3]="123"; 
    information[4]="-q"; 
    information[5]="100"; 
    information[6]=eti.getText().toString(); 
    information[7]=eto.getText().toString(); 
    e.main(information); 
} 

我应该怎么做来解决这个问题呢?解决了很多问题之后,我到达了这里,但却陷入了困境。我已经通过互联网进行搜索,甚至找不到与我的问题有关的适当解决方案。

回答