2015-09-30 12 views
8

używam Cordova dla mojej aplikacji i korzystania z wtyczki inAppBrowser, przed użyciem tej wtyczki komenda cordova build android --release pracował prawidłowo, ale po dodaniu tej wtyczki to pokazano błąd, jeśli ja nie daję --release działa poprawnie oznacza, że ​​w trybie debugowania nie ma problemu. Błąd które otrzymuję jest jak postępowaćCordova inAppBrowser „ResourceType” emisja Rodzaj za zwolnienie build

/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. 

Odpowiedz

24

Najnowsza wersja wtyczki Inappbrowser ma kilka „błędów” my Studio Android (wersja 1.4) narzeka przy budowie APK zwalniający.

To na jednym z nich.

Jedynym sposobem znalazłem się obejść tego problemu było zmodyfikować treść InAppBrowser.java

Zmieniłem każde wystąpienie object.setId (int) do object.setId (Integer.valueOf (int))

np inAppWebView.setId(6) ->inAppWebView.setId(Integer.valueOf(6))

Każdy, kto znajdzie lepsze (bez manipulowania źródłem) rozwiązanie, jest mile widziany.

+5

Pracowałem dla mnie. Zagłosowałem i dodałem te zmiany jako żądanie ściągnięcia w git: https://github.com/Brianfit/cordova-plugin-inappbrowser/pull/1/files – brianfit

1

Te "błędy" to błędy Lint, a to dlatego, że lint nie jest pewien, że liczba 6 jest naprawdę liczbą 6, dlatego należy upewnić się, że robisz Integer.valueOf (int) na każdym obiekcie .ustaw ID.

Naprawiłem to na poziomie platformy, aby nie powodowało już niepowodzenia kompilacji, ale aby sprawić przyjemność kłódce, prawdopodobnie zmienimy źródło tak, aby używana była wartość Integer.valueOf.

Powiązane problemy