アンドロイド開発とJavaには全く新しいので、問題は簡単かもしれませんが、私はすでに何を試してみるか、読んだり、グーグルについて混乱しています。選択したイメージセットでバッチ処理を行うアプリケーションを作成しようとしています。発見完璧に私のニーズに合わせlibraryは、それを接続し、すべてが動作するかどうか、それが必要としてチェックアウトしていた簡単なテストを、書いた:アンドロイドプロジェクトの.so共有ライブラリを取得することができません
if (requestCode == SELECT_PICTURE && resultCode == RESULT_OK && null != data) {
Uri selectedImageUri = data.getData();
m_ImagePath = getRealPathFromUri(selectedImageUri);
try {
m_MagickImage = new MagickImage(new ImageInfo(m_ImagePath));
m_EffectImage = m_MagickImage.rotateImage(90);
m_Bitmap = MagickBitmap.ToReducedBitmap(m_EffectImage, 1000);
} catch (MagickException e) {
Log.d(LOGTAG, e.toString());
}
ImageView imageview = (ImageView) findViewById(R.id.imageView);
imageview.setImageBitmap(m_Bitmap);
//imageview.setImageURI(selectedImageUri);
openFileButton.setVisibility(View.GONE);
}
プロジェクトは、警告なしに完全に罰金構築しますが、私はそれを展開したとき(彼らは重要ですが、オンデマンドで必要なすべてを提供することができないと思います)、システム情報や警告の
JNI DETECTED ERROR IN APPLICATION: GetStringUTFChars received NULL jstring
in call to GetStringUTFChars
from void magick.ImageInfo.setFileName(java.lang.String)
"main" prio=5 tid=1 Runnable
そして200の文字列より:実際のハードウェアと筆記試験に割り当てられたボタンをクリックし、私はlogcatで、次のエラーを得ました。
はまた、その実行後、私は、Android-のImageMagickに関連するほぼすべてのJavaファイルで
cannot resolve corresponding jni function Java_magick_ImageInfo_setFileName
ような赤い警告の多くを得ました。
ライブラリーは、thisスレッドに記載されている手順に従って、.jarファイルとして接続されました。ここに私の設定です:build.gradleで
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:design:25.0.0'
testCompile 'junit:junit:4.12'
}
と
sourceSets {
main {
java.srcDirs = ['src/main/java']
}
}
。
「SRC /メイン/ Javaのラッパークラスを持つプロジェクト、 'fakeawt' と「魔術のフォルダのルートに 'LIBS' ディレクトリ内の.soファイルとarmeabi.jar、とAT
static {
System.loadLibrary("imagemagick");
}
Main.javaの先頭。
何が問題になる可能性があり、正しく修正する方法はありますか?あなたは、プロジェクト構造に従うのAndroid Studioを使用している場合