2016-08-27 2 views
1

Последние версии исправления renderscriptSupport исправлены в версии 11. Я тестировал их на соответствующих устройствах и эмуляторах. Но после производства все, кто запускал KitKat или ниже, разбились.minifiedEnabled приводит к краху renderscript> 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' 
    } 
} 

что позволило Минимизировать для релизов, и любой подписанный APK разбился. Если я изменил на:

buildTypes { 
    release { 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

Подписанные АПК прекратили сбой на устройствах 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" 

Есть ли что-то еще, что я мог бы быть не хватает? Это правильно? Есть ли чем-то, чтобы безопасно получить большую часть minified, работающего для большей части скрипта (дополнительная масса раздувания не удивительна)?

+0

Что делать, если вы установили renderscriptTargetApi в 11? Вы всегда должны сделать его равным минимальной цели api – cmaster11

+0

Я сделаю это, потому что да. Но он все еще падает. Минимизированная версия выходит из строя, версия без мини-версии - нет. С его установкой на 11. – Tatarize

+1

Точная точная ошибка UnsatisfiedLinkError была зарегистрирована в моем журнале аварийных приложений Android на 5.0 и 6.0, а также - minSdkVersion 17, renderscriptTargetApi 17. Вы правы, только сбойная версия сбой. Я просто полностью удалил renderscript из моего проекта. –

ответ

1

Проблема устранена Dec 2016, но правила Proguard работы:

-keep class com.photoembroidery.tat.olsennoise.** {*;} 
-keep class android.support.v8.renderscript.** {*;} 

Остановился сбой на KitKat.

Смежные вопросы