I recompiled Chrome Remote Desktop Android app(with no change) and tried to run on my phone. But everytime i start the app, it just close immediately with error below.

2018-12-04 20:11:35.053 9136-9136/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.google.chromeremotedesktop, PID: 9136
java.lang.SecurityException: GoogleCertificatesRslt: not whitelisted: pkg=com.google.chromeremotedesktop, sha1=d8f73e2555302ef6f168029dd4b3a3976a771a9a, atk=false, ver=14574039.true
    at android.os.Parcel.createException(Parcel.java:1966)
    at android.os.Parcel.readException(Parcel.java:1934)
    at android.os.Parcel.readException(Parcel.java:1884)
    at com.google.android.gms.common.internal.zzax.zza(Unknown Source:37)
    at com.google.android.gms.common.internal.zzd.zza(Unknown Source:90)
    at com.google.android.gms.internal.zzbcq.zzrw(Unknown Source:52)
    at com.google.android.gms.internal.zzbcu.run(Unknown Source:25)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:459)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at com.google.android.gms.internal.zzbic.run(Unknown Source:7)
    at java.lang.Thread.run(Thread.java:764)
2018-12-04 20:11:35.158 4878-5035/? E/InputDispatcher: channel '43f5347 com.google.chromeremotedesktop/org.chromium.chromoting.Chromoting (server)' ~ Channel is unrecoverably broken and will be disposed!

(I used apktool to decompile and recompile the app with no change, and then used signapk to make signed apk.)

As error message, it's because of GoogleCertificates issue that i completely know nothing about it. but i couldn't get additional infos.

What can i do to solve or avoid this problem?


These steps are what i did to recompile and run Chrome Remote Desktop App

  1. download the App at apkpure and change apk file's name to 'crd.apk'

  2. use apktool to decompile the App.

    java -jar apktool.jar d crd.apk

  3. use apktool to recompile the App. this make new crd.apk file at crd/dist directory

    java -jar apktool.jar b crd

  4. make .pk8 .pem key files to sign crd.apk file

    openssl genrsa -out key.pem 1024

    openssl req -new -key key.pem -out request.pem

    openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem

    openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

  5. use signapk.jar to make signed apk file

    java -jar signapk.jar certificate.pem key.pk8 crd.apk crd-signed.apk

  6. install and run

  7. got error!

  • 1
    Could you add some info how you did that? Readers can check if your procedure is wrong. Thank you! – Biswapriyo Dec 4 at 13:13
  • A program can verify that it hasn't been tampered yet by looking at the signatures and verifying itself. This seems to be the case here. It could be a simple hash or some complex asymmetric key based, totally depends on the implementation. – sudhackar Dec 4 at 13:16
  • @sudhackar then to make this without error, it needs exact signature that google used to it? – sykim Dec 5 at 1:40
  • @Biswapriyo now I added infos about what i did – sykim Dec 5 at 1:46

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.