1
私はGitgubでオープンソースプロジェクトを使用しています。
パッケージ名を変更する必要があります。
archArm.c機能コードソースの主な部分は次のとおりです。
アンドロイドで作業するJNI
jstring
Java_com_github_hiteshsondhi88_libffmpeg_ArmArchHelper_cpuArchFromJNI(JNIEnv* env, jobject obj)
とプライマリArchArmHelper.javaです: 今
package com.github.hiteshsondhi88.libffmpeg;
class ArmArchHelper {
static {
System.loadLibrary("ARM_ARCH");
}
native String cpuArchFromJNI();
boolean isARM_v7_CPU(String cpuInfoString) {
return cpuInfoString.contains("v7");
}
boolean isNeonSupported(String cpuInfoString) {
// check cpu arch for loading correct ffmpeg lib
return cpuInfoString.contains("-neon");
}
}
私はarchArmの一部を編集しました。 c関数は次のようになります。
jstring
Java_com_emad_amerian_libffmpeg_ArmArchHelper_cpuArchFromJNI(JNIEnv* env, jobject obj)
そして私はに私のArchArmHelper.java編集:私は私のAPKファイルが正しくなく、実行が私のプロジェクトのリターンエラーを起動したときに構築するために
package com.emad.amerian.libffmpeg;
class ArmArchHelper {
static {
System.loadLibrary("ARM_ARCH");
}
native String cpuArchFromJNI();
boolean isARM_v7_CPU(String cpuInfoString) {
return cpuInfoString.contains("v7");
}
boolean isNeonSupported(String cpuInfoString) {
// check cpu arch for loading correct ffmpeg lib
return cpuInfoString.contains("-neon");
}
}
ことができます。
02-28 23:29:20.001 15094-15094/com.emad.amerian.sampleffmpeg E/art: No implementation found for java.lang.String com.emad.amerian.libffmpeg.ArmArchHelper.cpuArchFromJNI() (tried Java_com_emad_amerian_libffmpeg_ArmArchHelper_cpuArchFromJNI and Java_com_emad_amerian_libffmpeg_ArmArchHelper_cpuArchFromJNI__)
ありがとう、私はそれをテストしましたが、同じエラーを返しました –
.soファイルを再構築しましたか?警告やエラーはありましたか? – samgak
私は準備ができているプロジェクトを使用しています。どのように.soファイルを再構築できますか?プロジェクトのリンク:github.com/WritingMinds/ffmpeg-android-java –