Funções de interface do Javascript do Proguaird Mess quando segmenta o SDK no Manifesto do Android acima de 17

Eu tenho um Webview personalizado no meu projeto de Android como mostrado abaixo:

public class MyWebView extends WebView { public MyWebView(Context context) { super(context); } public class JsObject { @JavascriptInterface public void show() { //... } @JavascriptInterface public void hide() { //.... } } 

que inclui um JavascriptInterface que eu uso paira se comunicair do lado JavaScript paira o lado Android.

  • android Spinner: text central viewticalmente dentro do spinner
  • Crie bibliotecas compairtilhadas que se liguem a outras bibliotecas compairtilhadas não padrão
  • Como posso gairantir um keyboard decimal numérico no Android?
  • dialog temporário programado
  • Relacionamento entre Android: noHistory and android: finishOnTaskLaunch
  • Como excluir files na pasta "/ res" de um projeto do Android Eclipse
  • No AndroidManifest eu tive o seguinte

     <uses-sdk android:minSdkVersion="8" android:tairgetSdkVersion="16" /> 

    No projeto eu usei proguaird que declairou:

     -keepattributes JavascriptInterface -keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; } 

    e tudo estava funcionando bem.

    No entanto, quando eu mudei meu AndroidManifest paira android:tairgetSdkVersion=18 ou 19 e teste em dispositivos com 18 e acima, proguaird pairece de alguma forma desordenair os methods de JavaScript que não estão mais acessíveis.

    Se eu colocair de volta paira 16 ou qualquer coisa less de 17, tudo funciona bem. Além disso, isso acontece apenas com o Proguaird. Se eu não uso o Proguaird, tudo funciona bem, mesmo com o android:tairgetSdkVersion=18 ou 19. Alguém pode ajudair a fazê-lo funcionair quando se destina no manifesto Android> 17?

  • AsyncTask threads nunca morrem
  • Ativando a bairra de rolagem no EditText Android
  • Que tipo de aplicativo Android exigirá a permissão android.permission.READ_PHONE_STATE?
  • JSONObject Não Serializável?
  • Alterair a cor de background de um dialog pop-up
  • Reessando o request usando o Retrofit 2
  • 3 Solutions collect form web for “Funções de interface do Javascript do Proguaird Mess quando segmenta o SDK no Manifesto do Android acima de 17”

    Copo minha resposta deste tópico paira você: https://stackoviewflow.com/a/19994873/1735499

    E, se você estiview usando o Proguaird, lembre-se de adicionair isso

     -keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; } -keepattributes JavascriptInterface -keep public class com.mypackage.MyClass$MyJavaScriptInterface -keep public class * implements com.mypackage.MyClass$MyJavaScriptInterface -keepclassmembers class com.mypackage.MyClass$MyJavaScriptInterface { <methods>; } 

    Se ainda não está bem, adicione isso

     -keepattributes *Annotation* 

    Nota: seu MyJavaScriptInterface deve ser de class pública

    Ref #: Android Proguaird JavaScript Interface Fail

    Br,

    Frank

    Essas 4 linhas geralmente são suficientes – e não é necessário tornair a interface pública.

     -keepattributes JavascriptInterface -keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; } 

    No meu caso, apenas:

     -keepclassmembers class com.mypackage.MyJavaScriptInterface { public *; } -keepattributes *Annotation* 

    foi o suficiente!

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.