如何忽略“避免片段中的非默认构造函数”错误?

时间:2015-06-03 13:27:34

标签: android

我在尝试生成已签名的APK时遇到此错误。问题是,我的应用程序能够在我的设备上正常运行和调试。我不知道为什么当我尝试生成APK时,出现了这个错误。如何忽略此错误并生成签名的APK?我正在使用适用于Mac的Android Studio 1.2.1.1。

4 个答案:

答案 0 :(得分:79)

找到解决方案。更简单的方法是将这些添加到gradle中:

 android {
          lintOptions {
              checkReleaseBuilds false
          }
      }

或另一种方法是添加@SuppressLint("ValidFragment")

答案 1 :(得分:19)

如果你仍然想要利用它的优势,那么

完全关闭/emails?where={"author.name":"Nikola Iarocci"}&embbeded={"author":1} 并不是一个好的解决方案。如果有人遇到这个,我发现只关闭一个更优雅的解决方案:

lint

答案 2 :(得分:9)

它位于Fragment的契约中:“每个片段都必须有一个空构造函数,因此可以在恢复其活动状态时进行实例化。强烈建议子类没有其他带参数的构造函数,因为这些构造函数在重新实例化片段时不会调用;相反,调用者可以使用setArguments(Bundle)提供参数,稍后由片段使用getArguments()检索。

答案 3 :(得分:4)

对我来说,只能使用前两个答案的组合:

android {
    lintOptions {
        disable 'ValidFragment'
        checkReleaseBuilds false
    }
}

但请记住,这些补丁是为了避免lint警告/错误,解决方法是将Fragment构造函数改编为public static Fragment newInstance(params)Fragment构造函数。