我在我的应用程序中使用cordova并使用inAppBrowser插件,在使用此插件之前cordova build android --release
命令工作正常但添加此插件后显示错误,如果我没有给它--release
它正常工作正确意味着在调试模式下没有问题。
我得到的错误如下
/Users/mukesh/Documents/code/teamworkCordova/xyz/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java:555: Error: Expected resource of type id [ResourceType]
actionButtonContainer.setId(1);
~
/Users/mukesh/Documents/code/teamworkCordova/xyz/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java:563: Error: Expected resource of type id [ResourceType]
back.setId(2);
~
/Users/mukesh/Documents/code/teamworkCordova/xyz/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java:587: Error: Expected resource of type id [ResourceType]
forward.setId(3);
~
/Users/mukesh/Documents/code/teamworkCordova/xyz/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java:610: Error: Expected resource of type id [ResourceType]
edittext.setId(4);
~
/Users/mukesh/Documents/code/teamworkCordova/xyz/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java:633: Error: Expected resource of type id [ResourceType]
close.setId(5);
~
/Users/mukesh/Documents/code/teamworkCordova/xyz/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java:679: Error: Expected resource of type id [ResourceType]
inAppWebView.setId(6);
~
Explanation for issues of type "ResourceType":
Ensures that resource id's passed to APIs are of the right type; for
example, calling Resources.getColor(R.string.name) is wrong.
答案 0 :(得分:25)
最新版本的Inappbrowser插件有几个"错误"我的Android Studio(版本1.4)在构建发布APK时抱怨。
这是其中一个。
我找到解决这个问题的唯一方法是修改内容 InAppBrowser.java
我改变了每一次 object.setId(int) to object.setId(Integer.valueOf(INT))
例如:inAppWebView.setId(6)
- > inAppWebView.setId(Integer.valueOf(6))
欢迎所有找到更好(不操纵源代码)解决方案的人。
答案 1 :(得分:1)
这些"错误"是Lint错误,因为lint不确定数字6是否真的是数字6,这就是为什么你需要确保你对每个object.setId做Integer.valueOf(int)的原因。
我在平台级别修复了这个问题,这样它就不会再导致编译失败了,但是为了使lint满意,我们可能会更改源代码以便使用Integer.valueOf。