我在res/raw中打开了一些html文件。但在混淆之后,它们无法加载。

最佳答案

我碰到了同样的问题。我的帮助HTML文件是原始的,在混淆之后,我运行我的应用程序,得到一个错误,即找不到该文件。
这是我的帮助活动课程:

public class HelpActivity extends BaseActivity
{
  @Override
  protected void onCreate(Bundle savedInstanceState)
  {
      super.onCreate(savedInstanceState);
      // requesting to turn the title OFF
      //requestWindowFeature(Window.FEATURE_NO_TITLE);
      // making it full screen
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

      setContentView(R.layout.help);
      setTitle(getString(R.string.help_title));
      WebView webView = (WebView) findViewById(R.id.webView);
      webView.loadUrl("file:///android_" + getString(R.raw.how_to_play_zeewee));
  }
}

我通过将以下内容添加到proguard.cfg文件中修复了此问题:
-keepclassmembers class **.R$* {public static <fields>;}
-keep class **.R$*

您可能已经有了第一行代码,但这并不能阻止问题的发生。添加第二行完全消除了问题。我不认为还需要第一行代码,但我还没有测试过它——而且由于它目前可以工作……;

08-17 23:58
查看更多