我正在使用Samsung's Motion library为三星手机创建一个计步器。当我在gradle配置文件中创建一个没有缩小的APK时,系统可以工作。但是,当我尝试在释放到商店之前应用缩小时,
buildTypes {
release {
minifyEnabled true
signingConfig signingConfigs.config
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable false
jniDebuggable false
}
我收到错误声称某些库(例如android.hardware.motion
)不存在。
我检查过:
Class.forName("android.hardware.scontext.SContextManager");
如果我删除该行 minifyEnabled是的 我没有错误,所以它必须是代码混淆。
我试图添加我的proguard规则文件语句,例如
-keep class android.hardware.** { *; }
-keep class com.samsung.android.sdk.** { *; }
但这似乎不起作用。 任何的想法?谢谢!
答案 0 :(得分:1)
缺少的类确实只能在实际设备上使用。 为了让ProGuard处理您的应用程序,您必须包含以下配置:
-dontwarn com.samsung.android.sdk.motion.**
-dontnote com.samsung.android.sdk.motion.**
这将忽略来自三星sdk的警告和注释。