This repository has been archived by the owner on Oct 7, 2021. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 796
ProGuard Configuration
Taner Sener edited this page Apr 27, 2019
·
5 revisions
Please add the following rules inside your proguard-rules.pro
file to preserve necessary method names and prevent linking errors.
-keep class com.arthenica.mobileffmpeg.Config {
native <methods>;
void log(int, byte[]);
void statistics(int, float, float, long , int, double, double);
}
-keep class com.arthenica.mobileffmpeg.AbiDetect {
native <methods>;
}
If this rule is not used, ProGuard
will obfuscate all MobileFFmpeg
methods and your application will fail with the following error on startup.
I/mobile-ffmpeg: Loading mobile-ffmpeg.
CheckJNI: method to register "disableNativeRedirection" not in the given class. This is slow, consider changing your RegisterNatives calls.
Failed to register native method com.arthenica.mobileffmpeg.Config.disableNativeRedirection()V in /data/app/com.arthenica.mobileffmpeg.test-1/split_lib_dependencies_apk.apk:classes14.dex
----- class 'Lcom/arthenica/mobileffmpeg/Config;' cl=0x12c68c10 -----
objectSize=453 (432 from super)
access=0x0008.0001
super='java.lang.Class<java.lang.Object>' (cl=0x0)
vtable (0 entries, 11 in super):
direct methods (15 entries):
0: void com.arthenica.mobileffmpeg.Config.<clinit>()
1: void com.arthenica.mobileffmpeg.Config.<init>()
2: void com.arthenica.mobileffmpeg.Config.enableLogCallback(com.arthenica.mobileffmpeg.LogCallback)
3: void com.arthenica.mobileffmpeg.Config.enableNativeRedirection()
4: void com.arthenica.mobileffmpeg.Config.enableRedirection()
5: void com.arthenica.mobileffmpeg.Config.enableStatisticsCallback(com.arthenica.mobileffmpeg.StatisticsCallback)
6: java.lang.String com.arthenica.mobileffmpeg.Config.getNativeBuildConf()
7: int com.arthenica.mobileffmpeg.Config.getNativeLogLevel()
8: java.lang.String com.arthenica.mobileffmpeg.Config.getNativeVersion()
9: java.lang.String com.arthenica.mobileffmpeg.Config.getPackageName()
10: void com.arthenica.mobileffmpeg.Config.nativeCancel()
11: int com.arthenica.mobileffmpeg.Config.nativeExecute(java.lang.String[])
12: void com.arthenica.mobileffmpeg.Config.resetStatistics()
13: void com.arthenica.mobileffmpeg.Config.setFontDirectory(android.content.Context, java.lang.String, java.util.Map)
14: void com.arthenica.mobileffmpeg.Config.setFontconfigConfigurationPath(java.lang.String)
static fields (6 entries):
0: com.arthenica.mobileffmpeg.Level com.arthenica.mobileffmpeg.Config.activeLogLevel
1: com.arthenica.mobileffmpeg.Statistics com.arthenica.mobileffmpeg.Config.lastReceivedStatistics
2: com.arthenica.mobileffmpeg.LogCallback com.arthenica.mobileffmpeg.Config.logCallbackFunction
3: boolean com.arthenica.mobileffmpeg.Config.runningSystemCommand
4: com.arthenica.mobileffmpeg.StatisticsCallback com.arthenica.mobileffmpeg.Config.statisticsCallbackFunction
5: java.util.concurrent.atomic.AtomicReference com.arthenica.mobileffmpeg.Config.systemCommandOutputReference
E/mobile-ffmpeg: OnLoad failed to RegisterNatives for class com/arthenica/mobileffmpeg/Config.
A/art: art/runtime/java_vm_ext.cc:470] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.NoSuchMethodError: no static or non-static method "Lcom/arthenica/mobileffmpeg/Config;.disableNativeRedirection()V"
Copyright (c) 2018-2021 MobileFFmpeg