2022년 5월 31일 화요일

[Android] cordova-android 10.1.x 이상 버전 적용 이후 android 빌드 실행시 Whitelist와 FileTransfer의 의존성 문제

cordova-android 10.1.x 이상 버전 적용 이후 android 빌드 실행시

Whitelist와 FileTransfer의 의존성 문제


  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\filetransfer\FileTransfer.java:691: error: cannot find symbol

                Whitelist whitelist = (Whitelist)gwl.invoke(webView);

                ^

  symbol:   class Whitelist

  location: class org.apache.cordova.filetransfer.FileTransfer

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\filetransfer\FileTransfer.java:691: error: cannot find symbol

                Whitelist whitelist = (Whitelist)gwl.invoke(webView);

                                       ^

  symbol:   class Whitelist

  location: class org.apache.cordova.filetransfer.FileTransfer

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:41: error: cannot find symbol

        this(new Whitelist(), new Whitelist(), null);

                 ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:41: error: cannot find symbol

        this(new Whitelist(), new Whitelist(), null);

                                  ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:45: error: cannot find symbol

        this(new Whitelist(), new Whitelist(), null);

                 ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:45: error: cannot find symbol

        this(new Whitelist(), new Whitelist(), null);

                                  ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:50: error: cannot find symbol

            allowedRequests = new Whitelist();

                                  ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:61: error: cannot find symbol

            allowedNavigations = new Whitelist();

                                     ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:62: error: cannot find symbol

            allowedIntents = new Whitelist();

                                 ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

C:\Users\mango\Documents\GitHub\gPocket\platforms\android\app\src\main\java\org\apache\cordova\whitelist\WhitelistPlugin.java:63: error: cannot find symbol

            allowedRequests = new Whitelist();

                                  ^

  symbol:   class Whitelist

  location: class org.apache.cordova.whitelist.WhitelistPlugin

Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

Note: Some input files use unchecked or unsafe operations.

Note: Recompile with -Xlint:unchecked for details.

24 errors


> Task :app:compileDebugJavaWithJavac FAILED


FAILURE: Build failed with an exception.


* What went wrong:

Execution failed for task ':app:compileDebugJavaWithJavac'.

> Compilation failed; see the compiler error output for details.


* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.


* Get more help at https://help.gradle.org


Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.


You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.


See https://docs.gradle.org/7.1.1/userguide/command_line_interface.html#sec:command_line_warnings


BUILD FAILED in 36s

33 actionable tasks: 33 executed

Command failed with exit code 1: C:\Users\mango\Documents\GitHub\gPocket\platforms\android\gradlew cdvBuildDebug -b C:\Users\mango\Documents\GitHub\gPocket\platforms\android\build.gradle

[ERROR] An error occurred while running subprocess cordova.


        cordova.cmd build android exited with exit code 1. 


        Re-running this command with the --verbose flag may provide more

        information.




참조

https://github.com/apache/cordova-plugin-file-transfer/issues/316


Whitelist 는 cordova-android 10.1.x 이상부터는 필요없음

FileTransfer는 Whitelist를 종속해서 사용하지 않고 내장하는 식으로 업데이트함

github버전으로 File Transfer 추가한다

그래도 빌드시 whitelist 에러가 나면 제거


cordova plugin rm cordova-plugin-file-transfer

cordova plugin add https://github.com/apache/cordova-plugin-file-transfer 

cordova plugin rm cordova-plugin-whitelist




Eclipse 프로젝트에서 java.lang.NoClassDefFoundError 대처

Eclipse에서  자바 클래스 파일을 jar파일을 통해 추가 했을 때 소스 상에서는 클래스 파일을 찾지만 서버에 배포했을 때 못찾는 경우  프로젝트 옵션에서 Web Deplyment Assembly에 라이브러리 위치나 jar파일을 직접 추가하자   ...