「F5 Steganography」を使用して、デバイスのカメラからキャプチャされた JPG 画像内にメッセージを非表示にするマルチプラットフォーム アプリケーションを開発しています。現在、私の目的は、Android アプリケーションとデスクトップ Java アプリケーションを作成することです。ここから「F5 Steganography」のjarファイルを見つけました Javaデスクトップアプリケーションでライブラリを正常に実装しましたが、Android実装で問題が発生しています。Android プロジェクトに jar ファイルをインポートしましたが、メッセージの埋め込みと抽出で、Android の問題に直面しています。
- 抽出問題
Extract で現在直面している問題は、インポートされたライブラリが「sun.security.provider.SecureRandom」を使用しているが、Android がそれを見つけられないことです。ここにlog-catエラーがあります:
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」ライブラリをサポートしていないと推測していますが、そうであればどうすればよいですか? ライブラリを手動でインポートできますか? PS 「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」クラスが見つからなかったということですが、添付の画像に見られるようにそこに存在しています。
log-cat トレースは次のとおりです。
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);
}
この問題に対処するにはどうすればよいですか? 多くの問題を解決してここにたどり着きましたが、ここで行き詰まりました。私はインターネットを検索しましたが、私の問題に関連する適切な解決策をリモートで見つけることができませんでした.