-
Notifications
You must be signed in to change notification settings - Fork 11
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
China's new regulations prohibit automatic acquisition of user clipboard #3558
Comments
We also encountered the same problem and was rejected for review by Huawei App Store. |
Hi We appear to be using the clipboard manager in two places:
When we run up a normal application, we're not hitting either of those calls. When I then long-press on a text field, then it does hit the clipboard manager breakpoint. So .. we don't appear to be automatically accessing the ClipboardManager, this seems to always be on-demand. Unless your applications are trying to access an AS3 clipboard object at start-up, it should be possible to have an application running without ever ending up requesting this service. Do you know why they think it's being accessed automatically? Are there any guidelines for how/when to configure the app to ensure they don't think this is happening? thanks |
May I ask if we can disable this feature? This feature is not necessary for us.We don't want to get into this predicament because the government has strengthened restrictions in this area. We choose to go around. |
We could disable it but that wouldn't change the behaviour or instances of this in the code. It would just prevent it from being called ... but at the moment, it shouldn't be called, unless your application is trying to access it...? As an interim measure, I'll upload a version of the runtime classes here that disables this by default (and without a way to then enable it); then we can put in an app descriptor switch in 51.2 to allow this to be controlled from there. thanks |
@pengyangjin please try with the attached zip, which contains an updated runtimeClasses.jar file, that you can use on a 51.1.2.1 version of AIR SDK - you would need to put this into the lib/android/lib folder. thanks |
ok i will try,tks.
…---Original---
From: "Andrew ***@***.***>
Date: Wed, Nov 6, 2024 18:59 PM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [airsdk/Adobe-Runtime-Support] China's new regulations prohibitautomatic acquisition of user clipboard (Issue #3558)
@pengyangjin please try with the attached zip, which contains an updated runtimeClasses.jar file, that you can use on a 51.1.2.1 version of AIR SDK - you would need to put this into the lib/android/lib folder.
thanks
runtimeClasses.zip
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
use 51.1.2.1 win version get an error , I have 30.0.3 in android sdk build-tools folder , but why need 30.0.3-2 ? Did something go wrong? [java] unexpected failure: Unable to run java: com.adobe.air.ADTException: gradle tool failed: NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED |
Hi
but I suspect if it has thanks |
After adding the file you sent and publishing it, it still hasn't passed the review. It seems that you haven't disabled the clipboard function, but I tested and found that it can still copy and paste. |
Can this attached zip file be used in version 50.2.3.4? The apk file compiled by the SDK 51.1.2.1 window ver. encountered a startup crash exception, which I will explain in detail in another bug |
I successfully packaged it with ADK, but when I tried to upload it again, I still received the same issue and was unable to pass the review. |
The stack call information obtained from the Huawei review team. 应用获取用户信息:剪切板 (Application obtains user information: clipboard) com.adobe.air.Entrypoints.EntryMainWrapper(Native Method), com.adobe.air.Entrypoints.EntryMain(Entrypoints.java:240), com.adobe.air.AndroidActivityWrapper.LaunchApplication(AndroidActivityWrapper.java:1281), com.adobe.air.AndroidActivityWrapper.launchApplication(AndroidActivityWrapper.java:1581), com.adobe.air.AndroidActivityWrapper.onSurfaceInitialized(AndroidActivityWrapper.java:1567), com.adobe.air.AIRWindowSurfaceView.surfaceChanged(AIRWindowSurfaceView.java:816), android.view.SurfaceView.updateSurface(SurfaceView.java:1238), android.view.SurfaceView.lambda$new$0$SurfaceView(SurfaceView.java:192), android.view.-$$Lambda$SurfaceView$w68OV7dB_zKVNsA-r0IrAUtyWas.onPreDraw(Unknown Source:2), android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1103), android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3752), android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2406), android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9465), android.view.Choreographer$CallbackRecord.run(Choreographer.java:1286), android.view.Choreographer.doCallbacks(Choreographer.java:1025), android.view.Choreographer.doFrame(Choreographer.java:917), android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1254), android.os.Handler.handleCallback(Handler.java:955), android.os.Handler.dispatchMessage(Handler.java:102), android.os.Looper.loop(Looper.java:228), android.app.ActivityThread.main(ActivityThread.java:9016), java.lang.reflect.Method.invoke(Native Method), com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:614), com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1129) |
According to the new audit rules, it is not allowed to call directly in this way.It can only be called after user permission.The currently stable solution is to completely disable this type of call. |
The logs provided by my software feedback are as follows: com.adobe.air.Entrypoints.EntryMainWrapper(Native Method), |
Thanks - although we should have disabled the call to get the Android clipboard service, so I'm not sure how this is still happening. The call stack just shows us going into native code so I'll double-check in case there's some NDK clipboard usage, but when we checked the code earlier, it looked like the native (C++) code called back into Java to get at this feature... Do you know what API call they're actually concerned about there? thanks |
When I inquired about the specific API of the platform, the customer service replied, 'Let's locate ourselves based on the stack information.'. |
Yes, I also received the same response.Is there a temporary solution? |
Hi Thanks .. searching in the codebase, for
I think doing this properly, we should probably throw an error or similar, or return Are you able to try with the below one? Given there's a call stack, even though it's not actually complete, I am hoping that this means they're monitoring the application call into the below, which is what we are no longer actually calling:
thanks |
Can you provide a runtimeClasses.zip used at 50.2.3.4 window version. the 51.1.2.1 version has a fashback bug which have been reported. |
Attached below, thanks |
thinks.
…---Original---
From: "Andrew ***@***.***>
Date: Fri, Nov 8, 2024 19:37 PM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [airsdk/Adobe-Runtime-Support] China's new regulations prohibitautomatic acquisition of user clipboard (Issue #3558)
Can you provide a runtimeClasses.zip used at 50.2.3.4 window version
Attached below, thanks
runtimeClasses_50.2.zip
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
There are still issues with using the provided solution。The attachment is a log。Is the access clipboard feature enabled by default? Do I need to set it off? |
What are the issues? Clipboard access is disabled in that version. I had a quick look at one of the logcat files, couldn't see any warnings/errors around clipboard access? What are you seeing that looks like it's wrong? -> or do you have any information about what's actually required here, e.g. are specific APIs forbidden to be called until user permission is granted? and if so, what APIs? thanks |
The information found online to obtain clipboard permissions is: |
The keyword ShareCodeClipboardHelper has found in the log file.Many detection systems are based on keyword matching.This detection system is like a black box. |
ajwfrost 给的“runtimeClasses.jar”文件,你试过打包上传没有? |
Yes, it was used, and it was rejected.
…---Original---
From: ***@***.***>
Date: Mon, Nov 11, 2024 11:41 AM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [airsdk/Adobe-Runtime-Support] China's new regulations prohibitautomatic acquisition of user clipboard (Issue #3558)
ajwfrost 给的“runtimeClasses.jar”文件,你试过打包上传没有?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Curious - as I don't quite see how that log implies it's anything to do with AIR, but it started us looking more deeply throughout the code. The main AS3 clipboard access happens via a Java utility class that's in that runtimeClasses.jar file, where we'd made the change to prevent it. And likewise the other UI-based cut/copy/paste functionality was similarly in runtimeClasses.jar and updated. But a full search throughout the codebase shows another class that's written in C++ and that doesn't use our Java utility class, instead there's a direct call to So to fix this we'll need to rebuild all the native code across the different platforms -> @pengyangjin presumably you would need that built on top of 50.2.3.4? @yuanyunhua are you okay with a build on top of 51.1.2.2? thanks |
The apk package packaged using 51.1.2.2 will crash, and I have already reported this issue. The current version that can be used normally is 50.2.3.4. So please provide the modifications for 50.2.3.4 version, thank you. |
I am currently using version 51.1.2.2, other versions are also acceptable. I have no version requirements for ADT packaging. The developer platform has given us 7 days to rectify the situation, otherwise the application will be taken down. I think Chinese users have received similar rectification notices. |
Hi Apologies for the delay - we had prepared the runtimes but I only just realised we'd not uploaded them here.. Please let me know of any issues! thanks |
China's new regulation prohibits access to user information until the user agrees to the privacy policy: clipboard.
Thetrue</disabling SensorAccess>has already been added to the XML, but it will still fail the audit. May I ask if it is possible to cancel the automatic acquisition of ClipboardManager by AIRSDK.
The text was updated successfully, but these errors were encountered: