Android Cordova inAppBrowser“;ResourceType“;发布版本的类型问题
我正在为我的应用程序使用cordova,并使用inAppBrowser插件,在使用该插件之前,Android Cordova inAppBrowser“;ResourceType“;发布版本的类型问题,android,cordova,inappbrowser,Android,Cordova,Inappbrowser,我正在为我的应用程序使用cordova,并使用inAppBrowser插件,在使用该插件之前,cordova build android--release命令工作正常,但在添加该插件之后,它显示错误,如果我没有给出--release它工作正常意味着在调试模式下没有问题。 我得到的错误如下 /Users/mukesh/Documents/code/teamworkCordova/xyz/platforms/android/src/org/apache/cordova/inappbrowse
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.
Inappbrowser插件的最新版本有几个“错误”,我的Android Studio(1.4版)在构建版本APK时抱怨 这是他们中的一个 我发现解决这个问题的唯一方法是修改 InAppBrowser.java 我改变了每一件事 object.setId(int)到 object.setId(Integer.valueOf(int)) 例如:
inAppWebView.setId(6)
->inAppWebView.setId(Integer.valueOf(6))
欢迎所有找到更好(不操纵源代码)解决方案的人。这些“错误”都是Lint错误,这是因为Lint不确定数字6是否真的是数字6,这就是为什么需要确保对每个object.setId执行Integer.valueOf(int)
我在平台级别修复了这个问题,这样就不会再导致编译失败,但为了让lint满意,我们可能会更改源代码,以便使用Integer.valueOf 为我工作。投票通过后,我在git上添加了这些更改作为拉取请求: