修改applicationId时无法访问原始资源

时间:2016-09-11 10:55:51

标签: android android-gradle

我修改了我的应用程序,因此我可以将单个移动设备上的调试和生产构建为单独的应用程序:

//all the subscriptions that have been subscribed.
var subs = Meteor.default_connection._subscriptions; 
var subSummary = {};

// organize them by name so that you can see multiple occurrences
Object.keys(subs).forEach(function(key) {
  var sub = subs[key];
  // you could filter out subs by the 'active' property if you need to
  if (subSummary[sub.name] && subSummary[sub.name].length>0) {
    subSummary[sub.name].push(sub);
  } else {
    subSummary[sub.name] = [sub];
  }
});
console.log(subSummary);

我意识到android { buildTypes { debug { applicationIdSuffix ".debug" resValue 'string', 'app_name', 'LeliMath DEV' } 已停止加载位于WebView文件夹中的文件。我找不到简单的错误文件。生产构建工作正常。

res/raw

Android监视器说:

    WebView webview = new WebView(this);
    setContentView(webview);
    webview.loadUrl("file:///android_res/raw/changelog.html");

1 个答案:

答案 0 :(得分:0)

您可以尝试以下步骤:

  1. 在不同的风味目录下创建新的R.java文件。在您的情况下,请在lelisoft.com.lelimath.debug风格目录的debug包中创建此文件。
  2. 复制常规R.java的内容,或者只选择所需内容,并使用常规R.java中的值进行设置。 例如:
package lelisoft.com.lelimath.debug;
public final class R {
   public static final class raw {
      public static final String changelog = lelisoft.com.lelimath.R.raw.changelog;
   }
}
  1. 最后,将此行添加到您的proguard:

-keep class lelisoft.com.lelimath.debug.R$raw {*;}

您可以针对所有口味重复这些步骤。希望它能解决您的问题。