最近版本的renderscriptSupport修复了renderscript到版本11.我在适当的设备和模拟器上测试了这些。但是,在生产之后,每个运行KitKat或更低版本的人都会崩溃。
defaultConfig {
applicationId "com.photoembroidery.tat.olsennoise"
minSdkVersion 11
targetSdkVersion 24
versionCode 9
versionName "1.6bRS"
renderscriptTargetApi 23
renderscriptSupportModeEnabled true
}
它构建的脚本是:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
启用了minify版本,任何已签名的APK都会崩溃。而当我改为:
buildTypes {
release {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
已签名的APK已停止在Kitkat设备上崩溃。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.photoembroidery.tat.olsennoise/com.photoembroidery.tat.olsennoise.OlsenNoise}: android.support.v8.renderscript.m: Error loading RS jni library: java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.photoembroidery.tat.olsennoise-1/lib/arm/librsjni.so" Support lib API: 2301
Caused by: android.support.v8.renderscript.m: Error loading RS jni library: java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.photoembroidery.tat.olsennoise-1/lib/arm/librsjni.so" Support lib API: 2301
和
java.lang.NoSuchMethodError: no static or non-static method "Landroid/support/v8/renderscript/RenderScript;.nDeviceDestroy(J)V"
还有什么我可能会遗失的吗?这是缩小的权利?有没有什么可以安全地获得大部分剧本的大部分缩小工作(额外的大量膨胀是不是很棒)?
答案 0 :(得分:4)
问题持续存在2016年12月,但是规则有效:
-keep class com.photoembroidery.tat.olsennoise.** {*;}
-keep class android.support.v8.renderscript.** {*;}
停止在KitKat上崩溃。
答案 1 :(得分:1)
使用您需要的AndroidX
-keep class androidx.renderscript.** { *; }