Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android Java - failures encountered when integrating into a chromium-based project #134

Open
wutiantong opened this issue Aug 9, 2024 · 0 comments

Comments

@wutiantong
Copy link

My project integrated this SDK years ago to take advantage of its micro-vpn functionality on Android. Its version (20.1.5) is pretty old nowadays, so I am trying to upgrade it to the latest version, but I'm stuck with a few compilation issues that may require SDK changes to resolve. Note that I'm using a custom build system based on gn.

Obfuscation issue in featureflagsdk

Some classes in featureflagsdk are obfuscated into fullnames like a.a, a.b, etc. Unfortunately, this causes the name conflict with another library in my project. I know it's not a one-sided issue, but to me making improvements on either side would solve the problem, so I want to mention it here.
image

The companion object Companion could not be found in class issue in authmanagerlite

Some warnings like below are produced from authmanagerlite when processing with r8/d8, they block me because my project treats warnings as errors.
I assume that some code in authmanagerlite needs to be improved, this doc maybe helpful for that.

Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/customtab/DSAuthLogoutWebViewActivity.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.customtab.DSAuthLogoutWebViewActivity
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/sso/LogoutService.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.sso.LogoutService
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/authtoken/a.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.authtoken.a
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/sso/OfflineLogoutService.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.sso.OfflineLogoutService
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/userinfo/a/b.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.userinfo.a.b
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/authtoken/a/i.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.authtoken.a.i
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/customtab/WebViewActivity.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.customtab.WebViewActivity
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/sso/b.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.sso.b
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/sso/CleanDatabaseService.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.sso.CleanDatabaseService
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/b/f.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.b.f
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/b/e.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.b.e
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/sso/AuthDomainChangedService.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.sso.AuthDomainChangedService
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/customtab/CCTabDSAuthLogoutActivity.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.customtab.CCTabDSAuthLogoutActivity
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/sso/c.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.sso.c
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/data/a/a.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.data.a.a
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/customtab/CustomChromeTabLauncherActivity.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.customtab.CustomChromeTabLauncherActivity
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/a/a/a.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.a.a.a
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/b/a.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.b.a
Warning in obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar:com/citrix/authmanagerlite/data/model/a.class:
The companion object Companion could not be found in class com.citrix.authmanagerlite.data.model.a
Full command: ../../third_party/jdk/current/bin/java -Xmx2G -Djdk.util.zip.disableZip64ExtraFieldValidation=true -cp ../../third_party/r8/d8/lib/r8.jar:../../third_party/r8/custom_d8.jar org.chromium.build.CustomD8 --min-api 26 --desugar-dependencies gen/third_party/android_deps/com_citrix_android_authmanagerlitelib_java__classes__dex.desugardeps --classpath obj/third_party/android_deps/com_citrix_android_authmanagerlitelib_java/classes.jar --classpath obj/third_party/androidx/androidx_browser_browser_java.ijar.jar......

Invalid stack map table issue in ccklib

Another r8/d8 issue is produced from ccklib as below.

python3 ../../build/android/gyp/dex.py --depfile gen/third_party/android_deps/com_citrix_android_sdk_ccklib_java__classes__dex.d --output obj/third_party/android_deps/com_citrix_android_sdk_ccklib_java__classes.dex.jar --min-api=26 --r8-jar-path ../../third_party/r8/d8/lib/r8.jar --custom-d8-jar-path ../../third_party/r8/custom_d8.jar --warnings-as-errors --library --class-inputs=\[\"obj/third_party/android_deps/com_citrix_android_sdk_ccklib_java/classes.jar\"\] --desugar --classpath obj/third_party/android_deps/com_citrix_android_sdk_ccklib_java/classes.jar --classpath=@FileArg\(gen/third_party/android_deps/com_citrix_android_sdk_ccklib_java__classes.build_config.json:deps_info:javac_full_interface_classpath\) --desugar-dependencies gen/third_party/android_deps/com_citrix_android_sdk_ccklib_java__classes__dex.desugardeps --bootclasspath=@FileArg\(gen/third_party/android_deps/com_citrix_android_sdk_ccklib_java__classes.build_config.json:android:sdk_jars\) --classpath=@FileArg\(gen/third_party/android_deps/com_citrix_android_sdk_ccklib_java__classes.build_config.json:deps_info:javac_full_interface_classpath\) --force-enable-assertions
Warning in obj/third_party/android_deps/com_citrix_android_sdk_ccklib_java/classes.jar:com/citrix/cck/core/pqc/crypto/gmss/GMSSRootSig.class at Lcom/citrix/cck/core/pqc/crypto/gmss/GMSSRootSig;toString()Ljava/lang/String;:
Invalid stack map table at instruction index 36: invokevirtual Lcom/citrix/cck/core/pqc/crypto/gmss/GMSSRootSig;getStatByte()[[B, error: Expected initialized com.citrix.cck.core.pqc.crypto.gmss.GMSSRootSig on stack, but was byte[][].

ExportedReceiver issue from the manifest in securestorage

A lint warning is produced from securestorage when merging its manifest.

Warning: Exported receiver does not require permission [ExportedReceiver]

Please consider improve it and refer to -

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant