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

[error] (android:signRelease) Error signing jar (exit code was 1.) #949

Closed
zelongg opened this issue Oct 22, 2016 · 3 comments
Closed

[error] (android:signRelease) Error signing jar (exit code was 1.) #949

zelongg opened this issue Oct 22, 2016 · 3 comments

Comments

@zelongg
Copy link

zelongg commented Oct 22, 2016

When I tried to build the signed release build.

sbt native-build clean android:package-release
ZelongdeMacBook-Pro:shadowsocks-android gongzelong$ sbt native-build clean android:package-release
[info] Loading project definition from /Users/gongzelong/Android/githubrepo/shadowsocks-android/project
[info] Set current project to shadowsocks (in build file:/Users/gongzelong/Android/githubrepo/shadowsocks-android/)
[info] ~/Android/githubrepo/shadowsocks-android/src/main ~/Android/githubrepo/shadowsocks-android
[info] Android NDK: WARNING: Unsupported source file extensions in jni/Android.mk for module sodium    
[info] Android NDK:   shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse2.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse41.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-round.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h shadowsocks-libev/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h shadowsocks-libev/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h shadowsocks-libev/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sysendian.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h shadowsocks-libev/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h shadowsocks-libev/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/curve25519_ref10.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/montgomery.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/pow225521.h    
[info] Android NDK: WARNING: Unsupported source file extensions in jni/Android.mk for module sodium    
[info] Android NDK:   shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2-impl.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse2.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-load-sse41.h shadowsocks-libev/libsodium/src/libsodium/crypto_generichash/blake2/ref/blake2b-round.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h shadowsocks-libev/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h shadowsocks-libev/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h shadowsocks-libev/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h shadowsocks-libev/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sysendian.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/base2.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/d2.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/fe.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_add.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_madd.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_msub.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_p2_dbl.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ge_sub.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow22523.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/pow225521.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sc.h shadowsocks-libev/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sqrtm1.h shadowsocks-libev/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h shadowsocks-libev/libsodium/src/libsodium/crypto_stream/chacha20/ref/stream_chacha20_ref.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/curve25519_ref10.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/fe.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/montgomery.h shadowsocks-libev/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/pow225521.h    
[info] [armeabi-v7a] Install        : pdnsd => libs/armeabi-v7a/pdnsd
[info] [armeabi-v7a] Install        : redsocks => libs/armeabi-v7a/redsocks
[info] [armeabi-v7a] Install        : ss-local => libs/armeabi-v7a/ss-local
[info] [armeabi-v7a] Install        : ss-tunnel => libs/armeabi-v7a/ss-tunnel
[info] [armeabi-v7a] Install        : libsystem.so => libs/armeabi-v7a/libsystem.so
[info] [armeabi-v7a] Install        : tun2socks => libs/armeabi-v7a/tun2socks
[info] [x86] Install        : pdnsd => libs/x86/pdnsd
[info] [x86] Install        : redsocks => libs/x86/redsocks
[info] [x86] Install        : ss-local => libs/x86/ss-local
[info] [x86] Install        : ss-tunnel => libs/x86/ss-tunnel
[info] [x86] Install        : libsystem.so => libs/x86/libsystem.so
[info] [x86] Install        : tun2socks => libs/x86/tun2socks
[info] pdnsd
[info] redsocks
[info] ss-local
[info] ss-tunnel
[info] tun2socks
[info] ~/Android/githubrepo/shadowsocks-android
[info] ~/Android/githubrepo/shadowsocks-android/kcptun ~/Android/githubrepo/shadowsocks-android
[info] ~/Android/githubrepo/shadowsocks-android/kcptun/kcptun/client ~/Android/githubrepo/shadowsocks-android/kcptun
[info] Get dependences for kcptun
[warn] UPDATE: A newer sbt-android is available: 1.7.1, currently running: 1.7.0
[info] Cross compile kcptun for arm
[info] Cross compile kcptun for x86
[info] ~/Android/githubrepo/shadowsocks-android/kcptun
[info] Successfully build kcptun
[info] ~/Android/githubrepo/shadowsocks-android
[success] Total time: 46 s, completed Oct 22, 2016 8:20:29 PM
[success] Total time: 5 s, completed Oct 22, 2016 8:20:35 PM
[info] Updating {file:/Users/gongzelong/Android/githubrepo/shadowsocks-android/}shadowsocks-android...
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[info] Collecting resources
[info] Performing full resource merge
[info] QueuedCruncher is using /Users/gongzelong/Library/Android/sdk/build-tools/24.0.3/aapt
[info] Processing resources
[info] QueuedCruncher is using /Users/gongzelong/Library/Android/sdk/build-tools/24.0.3/aapt
[info] Rebuilding all classes because R.java has changed
[info] Compiling 46 Scala sources and 17 Java sources to /Users/gongzelong/Android/githubrepo/shadowsocks-android/target/android/intermediates/classes...
[warn] there were three deprecation warnings; re-run with -deprecation for details
[warn] there was one feature warning; re-run with -feature for details
[warn] two warnings found
[error] [NewApi] target/android/intermediates/classes/com/github/shadowsocks/ShadowsocksApplication.class:Call requires API level 21 (current min is 19): java.util.Locale#getScript
[error] [NewApi] target/android/intermediates/classes/com/github/shadowsocks/ShadowsocksApplication.class:Call requires API level 21 (current min is 19): java.util.Locale#toLanguageTag
[warn] [UnusedAttribute] src/main/AndroidManifest.xml:31:Attribute banner is only used in API level 21 and higher (current min is 19)
[warn]             android:banner="@drawable/ic_start_connected">
[warn]             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[warn] [UnusedAttribute] src/main/res/layout/layout_apps.xml:12:Attribute elevation is only used in API level 21 and higher (current min is 19)
[warn]                 android:elevation="1dp"
[warn]                 ~~~~~~~~~~~~~~~~~~~~~~~
[warn] [UnusedAttribute] src/main/res/layout/layout_main.xml:10:Attribute elevation is only used in API level 21 and higher (current min is 19)
[warn]         <LinearLayout android:id="@+id/stat" android:elevation="4dp" android:visibility="gone"
[warn]                                              ~~~~~~~~~~~~~~~~~~~~~~~
[warn] [UnusedAttribute] src/main/res/layout/layout_main.xml:78:Attribute elevation is only used in API level 21 and higher (current min is 19)
[warn]                                                    android:layout_height="wrap_content" android:elevation="6dp"
[warn]                                                                                         ~~~~~~~~~~~~~~~~~~~~~~~
[warn] [UnusedAttribute] src/main/res/layout/layout_tasker.xml:9:Attribute elevation is only used in API level 21 and higher (current min is 19)
[warn]                  android:elevation="1dp"
[warn]                  ~~~~~~~~~~~~~~~~~~~~~~~
[warn] [UnusedAttribute] src/main/res/layout/toolbar_light_dark.xml:8:Attribute elevation is only used in API level 21 and higher (current min is 19)
[warn]     android:elevation="4dp"
[warn]     ~~~~~~~~~~~~~~~~~~~~~~~
[error] lint found 2 errors, 6 warnings
[info] Packaging /Users/gongzelong/Android/githubrepo/shadowsocks-android/target/android/intermediates/classes.jar ...
[info] Packaging resources: resources-release.ap_
[info] QueuedCruncher is using /Users/gongzelong/Library/Android/sdk/build-tools/24.0.3/aapt
[info] Done packaging.
ProGuard, version 5.3
ProGuard is released under the GNU General Public License. You therefore
must ensure that programs that link to it (android, ...)
carry the GNU General Public License as well. Alternatively, you can
apply for an exception with the author of ProGuard.
Reading input...
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-design-24.2.1/com.android.support-design-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-v4-24.2.1/com.android.support-support-v4-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-compat-24.2.1/com.android.support-support-compat-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-media-compat-24.2.1/com.android.support-support-media-compat-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-utils-24.2.1/com.android.support-support-core-utils-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-ui-24.2.1/com.android.support-support-core-ui-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-fragment-24.2.1/com.android.support-support-fragment-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-appcompat-v7-24.2.1/com.android.support-appcompat-v7-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-vector-drawable-24.2.1/com.android.support-support-vector-drawable-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-animated-vector-drawable-24.2.1/com.android.support-animated-vector-drawable-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-recyclerview-v7-24.2.1/com.android.support-recyclerview-v7-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-gridlayout-v7-24.2.1/com.android.support-gridlayout-v7-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-preference-v14-24.2.1/com.android.support-preference-v14-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-preference-v7-24.2.1/com.android.support-preference-v7-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.evernote-android-job-1.1.0/com.evernote-android-job-1.1.0.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/net.vrallev.android-cat-1.0.5/net.vrallev.android-cat-1.0.5.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.github.clans-fab-1.6.4/com.github.clans-fab-1.6.4.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.github.jorgecastilloprz-fabprogresscircle-1.01/com.github.jorgecastilloprz-fabprogresscircle-1.01.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-ads-9.6.1/com.google.android.gms-play-services-ads-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-ads-lite-9.6.1/com.google.android.gms-play-services-ads-lite-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-basement-9.6.1/com.google.android.gms-play-services-basement-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-base-9.6.1/com.google.android.gms-play-services-base-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-tasks-9.6.1/com.google.android.gms-play-services-tasks-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-clearcut-9.6.1/com.google.android.gms-play-services-clearcut-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-gass-9.6.1/com.google.android.gms-play-services-gass-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-analytics-9.6.1/com.google.android.gms-play-services-analytics-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-analytics-impl-9.6.1/com.google.android.gms-play-services-analytics-impl-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-gcm-9.6.1/com.google.android.gms-play-services-gcm-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-iid-9.6.1/com.google.android.gms-play-services-iid-9.6.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.twofortyfouram-android-plugin-api-for-locale-1.0.2/com.twofortyfouram-android-plugin-api-for-locale-1.0.2.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/eu.chainfire-libsuperuser-1.0.0.201608240809/eu.chainfire-libsuperuser-1.0.0.201608240809.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/me.dm7.barcodescanner-zxing-1.9/me.dm7.barcodescanner-zxing-1.9.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/me.dm7.barcodescanner-core-1.9/me.dm7.barcodescanner-core-1.9.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-compat-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-media-compat-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-utils-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-ui-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-fragment-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.8.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/com.github.kevinsawicki/http-request/jars/http-request-6.0.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/com.j256.ormlite/ormlite-android/jars/ormlite-android-5.0.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/com.j256.ormlite/ormlite-core/jars/ormlite-core-5.0.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/net.jcip/jcip-annotations/jars/jcip-annotations-1.0.jar] (filtered)
Reading program jar [/Users/gongzelong/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.0.0/support-annotations-25.0.0.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/dnsjava/dnsjava/jars/dnsjava-2.1.7.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/com.google.zxing/core/jars/core-3.2.1.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/net.glxn.qrgen/android/jars/android-2.0.jar] (filtered)
Reading program jar [/Users/gongzelong/.ivy2/cache/net.glxn.qrgen/core/jars/core-2.0.jar] (filtered)
Reading program jar [/Users/gongzelong/Android/githubrepo/shadowsocks-android/target/android/intermediates/classes.jar] (filtered)
Reading library jar [/Users/gongzelong/Library/Android/sdk/platforms/android-24/android.jar]
Initializing...
Note: com.google.android.gms.internal.zzapa$zzb calls 'Class.getEnclosingClass'
Note: com.j256.ormlite.table.DatabaseTableConfig calls 'Class.getEnclosingClass'
Note: com.google.android.gms.internal.zzapj: can't find dynamically referenced class sun.misc.Unsafe
Note: com.j256.ormlite.android.DatabaseTableConfigUtil: can't find dynamically referenced class org.apache.harmony.lang.annotation.AnnotationFactory
Note: com.j256.ormlite.android.DatabaseTableConfigUtil: can't find dynamically referenced class org.apache.harmony.lang.annotation.AnnotationMember
Note: com.j256.ormlite.android.DatabaseTableConfigUtil: can't find dynamically referenced class org.apache.harmony.lang.annotation.AnnotationMember
Note: com.j256.ormlite.field.DatabaseFieldConfig: can't find dynamically referenced class javax.persistence.Entity
Note: com.j256.ormlite.field.types.DateTimeType: can't find dynamically referenced class org.joda.time.DateTime
Note: com.j256.ormlite.table.DatabaseTableConfig: can't find dynamically referenced class javax.persistence.Entity
Note: eu.chainfire.libsuperuser.Shell$SU: can't find dynamically referenced class android.os.SELinux
Note: org.xbill.DNS.ResolverConfig: can't find dynamically referenced class android.os.SystemProperties
Note: org.xbill.DNS.spi.DNSJavaNameServiceDescriptor: can't find dynamically referenced class sun.net.spi.nameservice.NameService
Note: org.xbill.DNS.spi.DNSJavaNameServiceDescriptor: can't find dynamically referenced class sun.net.spi.nameservice.NameService
Note: be.mygod.preference.PreferenceGroupAdapter$ accesses a declared field 'mPreferenceLayouts' dynamically
Note: be.mygod.preference.PreferenceGroupAdapter$ accesses a declared field 'resId' dynamically
Note: be.mygod.preference.PreferenceGroupAdapter$ accesses a declared field 'widgetResId' dynamically
Note: com.google.android.gms.internal.zzapj accesses a declared field 'theUnsafe' dynamically
Note: com.google.android.gms.internal.zzsu accesses a declared field 'MODULE_ID' dynamically
      Maybe this is program field 'com.google.android.gms.dynamite.descriptors.com.google.android.gms.ads.dynamite.ModuleDescriptor { java.lang.String MODULE_ID; }'
      Maybe this is program field 'com.google.android.gms.dynamite.descriptors.com.google.android.gms.flags.ModuleDescriptor { java.lang.String MODULE_ID; }'
Note: com.google.android.gms.internal.zzsu accesses a declared field 'MODULE_VERSION' dynamically
      Maybe this is program field 'com.google.android.gms.dynamite.descriptors.com.google.android.gms.ads.dynamite.ModuleDescriptor { int MODULE_VERSION; }'
      Maybe this is program field 'com.google.android.gms.dynamite.descriptors.com.google.android.gms.flags.ModuleDescriptor { int MODULE_VERSION; }'
Note: com.j256.ormlite.android.DatabaseTableConfigUtil accesses a declared field 'elements' dynamically
      Maybe this is program field 'org.xbill.DNS.APLRecord { java.util.List elements; }'
Note: com.j256.ormlite.android.DatabaseTableConfigUtil accesses a declared field 'name' dynamically
      Maybe this is program field 'com.github.shadowsocks.AppManager$ProxiedApp { java.lang.String name; }'
      Maybe this is program field 'com.github.shadowsocks.ShadowsocksQuickSwitchActivity$ProfilesAdapter { java.lang.String name; }'
      Maybe this is program field 'com.github.shadowsocks.TaskerActivity$ProfilesAdapter { java.lang.String name; }'
      Maybe this is program field 'com.github.shadowsocks.database.Profile { java.lang.String name; }'
      Maybe this is program field 'com.github.shadowsocks.utils.Key$ { java.lang.String name; }'
      Maybe this is program field 'com.google.android.gms.internal.zzaf { java.lang.String name; }'
      Maybe this is program field 'com.google.android.gms.internal.zzah$zzb { int name; }'
      Maybe this is program field 'com.google.android.gms.internal.zzah$zzi { java.lang.String name; }'
      Maybe this is program field 'com.google.android.gms.internal.zzaps$zzb { java.lang.String name; }'
      Maybe this is program field 'com.google.android.gms.internal.zzkx$zza { java.lang.String name; }'
      Maybe this is program field 'com.google.android.gms.internal.zzs$zza$zza { java.lang.String name; }'
      Maybe this is program field 'com.google.android.gms.phenotype.Flag { java.lang.String name; }'
      Maybe this is program field 'com.j256.ormlite.android.AndroidDatabaseConnection$OurSavePoint { java.lang.String name; }'
      Maybe this is program field 'dig { org.xbill.DNS.Name name; }'
      Maybe this is program field 'net.glxn.qrgen.core.vcard.VCard { java.lang.String name; }'
      Maybe this is program field 'org.xbill.DNS.Cache$NegativeElement { org.xbill.DNS.Name name; }'
      Maybe this is program field 'org.xbill.DNS.Compression$Entry { org.xbill.DNS.Name name; }'
      Maybe this is program field 'org.xbill.DNS.Lookup { org.xbill.DNS.Name name; }'
      Maybe this is program field 'org.xbill.DNS.Name { byte[] name; }'
      Maybe this is program field 'org.xbill.DNS.Record { org.xbill.DNS.Name name; }'
      Maybe this is program field 'org.xbill.DNS.TSIG { org.xbill.DNS.Name name; }'
      Maybe this is program field 'scala.Symbol { java.lang.String name; }'
      Maybe this is program field 'scala.beans.BeanDisplayName { java.lang.String name; }'
      Maybe this is program field 'scala.util.control.Exception$Catch { java.lang.String name; }'
      Maybe this is program field 'scala.util.control.Exception$Finally { java.lang.String name; }'
      Maybe this is library field 'android.R$attr { int name; }'
      Maybe this is library field 'android.accounts.Account { java.lang.String name; }'
      Maybe this is library field 'android.content.pm.FeatureInfo { java.lang.String name; }'
      Maybe this is library field 'android.content.pm.PackageItemInfo { java.lang.String name; }'
      Maybe this is library field 'android.gesture.Prediction { java.lang.String name; }'
      Maybe this is library field 'android.media.audiofx.AudioEffect$Descriptor { java.lang.String name; }'
      Maybe this is library field 'android.speech.tts.TextToSpeech$EngineInfo { java.lang.String name; }'
      Maybe this is library field 'java.sql.DriverPropertyInfo { java.lang.String name; }'
Note: com.j256.ormlite.android.DatabaseTableConfigUtil accesses a declared field 'value' dynamically
      Maybe this is program field 'be.mygod.preference.NumberPickerPreference { int value; }'
      Maybe this is program field 'com.google.android.gms.internal.zzah$zze { int value; }'
      Maybe this is program field 'com.google.android.gms.internal.zzaon { java.lang.Object value; }'
      Maybe this is program field 'com.google.android.gms.internal.zzape { java.lang.String value; }'
      Maybe this is program field 'com.google.android.gms.internal.zzapf$zzd { java.lang.Object value; }'
      Maybe this is program field 'com.google.android.gms.internal.zzarh { java.lang.Object value; }'
      Maybe this is program field 'com.google.android.gms.internal.zzarp$zze { java.lang.String value; }'
      Maybe this is program field 'com.google.android.gms.internal.zzcz$zza { long value; }'
      Maybe this is program field 'com.google.zxing.aztec.encoder.SimpleToken { short value; }'
      Maybe this is program field 'com.google.zxing.oned.rss.DataCharacter { int value; }'
      Maybe this is program field 'com.google.zxing.oned.rss.FinderPattern { int value; }'
      Maybe this is program field 'com.google.zxing.oned.rss.expanded.decoders.DecodedChar { char value; }'
      Maybe this is program field 'com.google.zxing.pdf417.decoder.Codeword { int value; }'
      Maybe this is program field 'com.j256.ormlite.stmt.SelectArg { java.lang.Object value; }'
      Maybe this is program field 'com.j256.ormlite.stmt.ThreadLocalSelectArg$ValueWrapper { java.lang.Object value; }'
      Maybe this is program field 'com.j256.ormlite.stmt.query.BaseComparison { java.lang.Object value; }'
      Maybe this is program field 'org.xbill.DNS.Tokenizer$Token { java.lang.String value; }'
      Maybe this is program field 'scala.collection.immutable.HashMap$HashMap1 { java.lang.Object value; }'
      Maybe this is program field 'scala.collection.immutable.IntMap$Tip { java.lang.Object value; }'
      Maybe this is program field 'scala.collection.immutable.ListMap$Node { java.lang.Object value; }'
      Maybe this is program field 'scala.collection.immutable.LongMap$Tip { java.lang.Object value; }'
      Maybe this is program field 'scala.collection.immutable.RedBlackTree$Tree { java.lang.Object value; }'
      Maybe this is program field 'scala.collection.mutable.DefaultEntry { java.lang.Object value; }'
      Maybe this is program field 'scala.collection.mutable.LinkedEntry { java.lang.Object value; }'
      Maybe this is program field 'scala.collection.mutable.OpenHashMap$OpenEntry { scala.Option value; }'
      Maybe this is program field 'scala.concurrent.SyncVar { scala.Option value; }'
      Maybe this is program field 'scala.concurrent.impl.CallbackRunnable { scala.util.Try value; }'
      Maybe this is program field 'scala.concurrent.impl.Promise$KeptPromise { scala.Some value; }'
      Maybe this is program field 'scala.runtime.NonLocalReturnControl { java.lang.Object value; }'
      Maybe this is program field 'scala.sys.BooleanProp$ConstantImpl { boolean value; }'
      Maybe this is program field 'scala.util.Success { java.lang.Object value; }'
      Maybe this is program field 'scala.util.control.TailCalls$Done { java.lang.Object value; }'
      Maybe this is library field 'android.R$attr { int value; }'
      Maybe this is library field 'android.icu.util.Output { java.lang.Object value; }'
      Maybe this is library field 'android.icu.util.RangeValueIterator$Element { int value; }'
      Maybe this is library field 'android.icu.util.ValueIterator$Element { java.lang.Object value; }'
      Maybe this is library field 'android.util.MutableBoolean { boolean value; }'
      Maybe this is library field 'android.util.MutableByte { byte value; }'
      Maybe this is library field 'android.util.MutableChar { char value; }'
      Maybe this is library field 'android.util.MutableDouble { double value; }'
      Maybe this is library field 'android.util.MutableFloat { float value; }'
      Maybe this is library field 'android.util.MutableInt { int value; }'
      Maybe this is library field 'android.util.MutableLong { long value; }'
      Maybe this is library field 'android.util.MutableShort { short value; }'
      Maybe this is library field 'android.view.animation.Animation$Description { float value; }'
      Maybe this is library field 'java.sql.DriverPropertyInfo { java.lang.String value; }'
Note: the configuration keeps the entry point 'com.github.clans.fab.FloatingActionMenu { void setLabelEllipsize(com.github.clans.fab.Label); }', but not the descriptor class 'com.github.clans.fab.Label'
Note: the configuration keeps the entry point 'com.github.clans.fab.FloatingActionMenu { void setOnMenuToggleListener(com.github.clans.fab.FloatingActionMenu$OnMenuToggleListener); }', but not the descriptor class 'com.github.clans.fab.FloatingActionMenu$OnMenuToggleListener'
Note: the configuration keeps the entry point 'com.github.jorgecastilloprz.progressarc.ProgressArcView { void setInternalListener(com.github.jorgecastilloprz.progressarc.ArcListener); }', but not the descriptor class 'com.github.jorgecastilloprz.progressarc.ArcListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { com.google.android.gms.ads.AdRequest zza(android.content.Context,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationBannerListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestInterstitialAd(android.content.Context,com.google.android.gms.ads.mediation.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestInterstitialAd(android.content.Context,com.google.android.gms.ads.mediation.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestNativeAd(android.content.Context,com.google.android.gms.ads.mediation.MediationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationNativeListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestNativeAd(android.content.Context,com.google.android.gms.ads.mediation.MediationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.NativeMediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void initialize(android.content.Context,com.google.android.gms.ads.mediation.MediationAdRequest,java.lang.String,com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void initialize(android.content.Context,com.google.android.gms.ads.mediation.MediationAdRequest,java.lang.String,com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void loadAd(com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener zza(com.google.ads.mediation.AbstractAdViewAdapter); }', but not the descriptor class 'com.google.ads.mediation.AbstractAdViewAdapter'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { com.google.android.gms.ads.InterstitialAd zza(com.google.ads.mediation.AbstractAdViewAdapter,com.google.android.gms.ads.InterstitialAd); }', but not the descriptor class 'com.google.ads.mediation.AbstractAdViewAdapter'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { com.google.android.gms.ads.InterstitialAd zza(com.google.ads.mediation.AbstractAdViewAdapter,com.google.android.gms.ads.InterstitialAd); }', but not the descriptor class 'com.google.android.gms.ads.InterstitialAd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.AdView { void setInAppPurchaseListener(com.google.android.gms.ads.purchase.InAppPurchaseListener); }', but not the descriptor class 'com.google.android.gms.ads.purchase.InAppPurchaseListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.AdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.AdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descriptor class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.BaseAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descriptor class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.BaseAdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.BaseAdView { void setInAppPurchaseListener(com.google.android.gms.ads.purchase.InAppPurchaseListener); }', but not the descriptor class 'com.google.android.gms.ads.purchase.InAppPurchaseListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.NativeExpressAdView { void setVideoOptions(com.google.android.gms.ads.VideoOptions); }', but not the descriptor class 'com.google.android.gms.ads.VideoOptions'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.NativeExpressAdView { void setInAppPurchaseListener(com.google.android.gms.ads.purchase.InAppPurchaseListener); }', but not the descriptor class 'com.google.android.gms.ads.purchase.InAppPurchaseListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.NativeExpressAdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.NativeExpressAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descriptor class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descriptor class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setAdSizes(com.google.android.gms.ads.AdSize[]); }', but not the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setAppEventListener(com.google.android.gms.ads.doubleclick.AppEventListener); }', but not the descriptor class 'com.google.android.gms.ads.doubleclick.AppEventListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setCorrelator(com.google.android.gms.ads.Correlator); }', but not the descriptor class 'com.google.android.gms.ads.Correlator'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setOnCustomRenderedAdLoadedListener(com.google.android.gms.ads.doubleclick.OnCustomRenderedAdLoadedListener); }', but not the descriptor class 'com.google.android.gms.ads.doubleclick.OnCustomRenderedAdLoadedListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.formats.NativeAdView { void setNativeAd(com.google.android.gms.ads.formats.NativeAd); }', but not the descriptor class 'com.google.android.gms.ads.formats.NativeAd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.formats.NativeAppInstallAdView { void setMediaView(com.google.android.gms.ads.formats.MediaView); }', but not the descriptor class 'com.google.android.gms.ads.formats.MediaView'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzu createBannerAdManager(com.google.android.gms.dynamic.zzd,com.google.android.gms.ads.internal.client.AdSizeParcel,java.lang.String,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzu createBannerAdManager(com.google.android.gms.dynamic.zzd,com.google.android.gms.ads.internal.client.AdSizeParcel,java.lang.String,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.internal.zzgq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzu createSearchAdManager(com.google.android.gms.dynamic.zzd,com.google.android.gms.ads.internal.client.AdSizeParcel,java.lang.String,int); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzu createInterstitialAdManager(com.google.android.gms.dynamic.zzd,com.google.android.gms.ads.internal.client.AdSizeParcel,java.lang.String,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzu createInterstitialAdManager(com.google.android.gms.dynamic.zzd,com.google.android.gms.ads.internal.client.AdSizeParcel,java.lang.String,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.internal.zzgq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzs createAdLoaderBuilder(com.google.android.gms.dynamic.zzd,java.lang.String,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzs createAdLoaderBuilder(com.google.android.gms.dynamic.zzd,java.lang.String,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.internal.zzgq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzz getMobileAdsSettingsManager(com.google.android.gms.dynamic.zzd); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.client.zzz getMobileAdsSettingsManagerWithClientJarVersion(com.google.android.gms.dynamic.zzd,int); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzdz createNativeAdViewDelegate(com.google.android.gms.dynamic.zzd,com.google.android.gms.dynamic.zzd); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzdz createNativeAdViewDelegate(com.google.android.gms.dynamic.zzd,com.google.android.gms.dynamic.zzd); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.reward.client.zzb createRewardedVideoAd(com.google.android.gms.dynamic.zzd,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.ads.internal.reward.client.zzb createRewardedVideoAd(com.google.android.gms.dynamic.zzd,com.google.android.gms.internal.zzgq,int); }', but not the descriptor class 'com.google.android.gms.internal.zzgq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzhy createInAppPurchaseManager(com.google.android.gms.dynamic.zzd); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzhp createAdOverlay(com.google.android.gms.dynamic.zzd); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.search.SearchAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descriptor class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.search.SearchAdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.flags.impl.FlagProviderImpl { void init(com.google.android.gms.dynamic.zzd); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd'
Note: the configuration keeps the entry point 'me.dm7.barcodescanner.core.BarcodeScannerView { void setupLayout(me.dm7.barcodescanner.core.CameraWrapper); }', but not the descriptor class 'me.dm7.barcodescanner.core.CameraWrapper'
Note: the configuration keeps the entry point 'me.dm7.barcodescanner.core.BarcodeScannerView { void setupCameraPreview(me.dm7.barcodescanner.core.CameraWrapper); }', but not the descriptor class 'me.dm7.barcodescanner.core.CameraWrapper'
Note: the configuration keeps the entry point 'me.dm7.barcodescanner.zxing.ZXingScannerView { void setResultHandler(me.dm7.barcodescanner.zxing.ZXingScannerView$ResultHandler); }', but not the descriptor class 'me.dm7.barcodescanner.zxing.ZXingScannerView$ResultHandler'
Note: there were 2 classes trying to access enclosing classes using reflection.
      You should consider keeping the inner classes attributes
      (using '-keepattributes InnerClasses').
      (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
Note: there were 55 unkept descriptor classes in kept class members.
      You should consider explicitly keeping the mentioned classes
      (using '-keep').
      (http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
Note: there were 11 unresolved dynamic references to classes or interfaces.
      You should check if you need to specify additional program jars.
      (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Note: there were 9 accesses to class members by means of introspection.
      You should consider explicitly keeping the mentioned class members
      (using '-keep' or '-keepclassmembers').
      (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember)
Ignoring unused library classes...
  Original number of library classes: 3823
  Final number of library classes:    1476
Shrinking...
Removing unused program classes and class elements...
  Original number of program classes: 9533
  Final number of program classes:    4685
Writing output...
Preparing output jar [/Users/gongzelong/Android/githubrepo/shadowsocks-android/target/android/intermediates/proguard/classes.proguard.jar]
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-design-24.2.1/com.android.support-design-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-v4-24.2.1/com.android.support-support-v4-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-compat-24.2.1/com.android.support-support-compat-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-media-compat-24.2.1/com.android.support-support-media-compat-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-utils-24.2.1/com.android.support-support-core-utils-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-ui-24.2.1/com.android.support-support-core-ui-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-fragment-24.2.1/com.android.support-support-fragment-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-appcompat-v7-24.2.1/com.android.support-appcompat-v7-24.2.1.jar] (filtered)
Warning: can't write resource [.readme] (Duplicate zip entry [com.android.support-appcompat-v7-24.2.1.jar:.readme])
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-vector-drawable-24.2.1/com.android.support-support-vector-drawable-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-animated-vector-drawable-24.2.1/com.android.support-animated-vector-drawable-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-recyclerview-v7-24.2.1/com.android.support-recyclerview-v7-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-gridlayout-v7-24.2.1/com.android.support-gridlayout-v7-24.2.1.jar] (filtered)
Warning: can't write resource [.readme] (Duplicate zip entry [com.android.support-gridlayout-v7-24.2.1.jar:.readme])
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-preference-v14-24.2.1/com.android.support-preference-v14-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-preference-v7-24.2.1/com.android.support-preference-v7-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.evernote-android-job-1.1.0/com.evernote-android-job-1.1.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/net.vrallev.android-cat-1.0.5/net.vrallev.android-cat-1.0.5.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.github.clans-fab-1.6.4/com.github.clans-fab-1.6.4.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.github.jorgecastilloprz-fabprogresscircle-1.01/com.github.jorgecastilloprz-fabprogresscircle-1.01.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-ads-9.6.1/com.google.android.gms-play-services-ads-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-ads-lite-9.6.1/com.google.android.gms-play-services-ads-lite-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-basement-9.6.1/com.google.android.gms-play-services-basement-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-base-9.6.1/com.google.android.gms-play-services-base-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-tasks-9.6.1/com.google.android.gms-play-services-tasks-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-clearcut-9.6.1/com.google.android.gms-play-services-clearcut-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-gass-9.6.1/com.google.android.gms-play-services-gass-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-analytics-9.6.1/com.google.android.gms-play-services-analytics-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-analytics-impl-9.6.1/com.google.android.gms-play-services-analytics-impl-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-gcm-9.6.1/com.google.android.gms-play-services-gcm-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.google.android.gms-play-services-iid-9.6.1/com.google.android.gms-play-services-iid-9.6.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.twofortyfouram-android-plugin-api-for-locale-1.0.2/com.twofortyfouram-android-plugin-api-for-locale-1.0.2.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/eu.chainfire-libsuperuser-1.0.0.201608240809/eu.chainfire-libsuperuser-1.0.0.201608240809.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/me.dm7.barcodescanner-zxing-1.9/me.dm7.barcodescanner-zxing-1.9.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/me.dm7.barcodescanner-core-1.9/me.dm7.barcodescanner-core-1.9.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-compat-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-media-compat-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-utils-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-core-ui-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.android/sbt/exploded-aars/com.android.support-support-fragment-24.2.1/libs/internal_impl-24.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.8.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/com.github.kevinsawicki/http-request/jars/http-request-6.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/com.j256.ormlite/ormlite-android/jars/ormlite-android-5.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/com.j256.ormlite/ormlite-core/jars/ormlite-core-5.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/net.jcip/jcip-annotations/jars/jcip-annotations-1.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/25.0.0/support-annotations-25.0.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/dnsjava/dnsjava/jars/dnsjava-2.1.7.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/com.google.zxing/core/jars/core-3.2.1.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/net.glxn.qrgen/android/jars/android-2.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/.ivy2/cache/net.glxn.qrgen/core/jars/core-2.0.jar] (filtered)
  Copying resources from program jar [/Users/gongzelong/Android/githubrepo/shadowsocks-android/target/android/intermediates/classes.jar] (filtered)
[info] Generating dex, multidex=false
[info] Resource Shrinker: 135 unused resources
[info] Resource Shrinker: data reduced from 727.62KB to 576.03KB, removed 20%
[error] warning: Ignoring InnerClasses attribute for an anonymous inner class
[error] (org.xbill.DNS.UDPClient$1) that doesn't come with an
[error] associated EnclosingMethod attribute. This class was probably produced by a
[error] compiler that did not target the modern .class file format. The recommended
[error] solution is to recompile the class from source, using an up-to-date compiler
[error] and without specifying any "-target" type options. The consequence of ignoring
[error] this warning is that reflective operations on this class will incorrectly
[error] indicate that it is *not* an inner class.
[info] dex method count: 37052
[info] Packaged: shadowsocks-release-unsigned.apk (6.10MB)
jarsigner: Certificate chain not found for: gongzelong.  gongzelong must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
java.lang.RuntimeException: Error signing jar (exit code was 1.)
    at scala.sys.package$.error(package.scala:27)
    at sbt.SignJar$.execute(Pack.scala:69)
    at sbt.SignJar$.sign(Pack.scala:59)
    at android.Tasks$$anonfun$57$$anonfun$apply$56.apply(tasks.scala:641)
    at android.Tasks$$anonfun$57$$anonfun$apply$56.apply(tasks.scala:631)
    at scala.Option.map(Option.scala:145)
    at android.Tasks$$anonfun$57.apply(tasks.scala:631)
    at android.Tasks$$anonfun$57.apply(tasks.scala:625)
    at scala.Function6$$anonfun$tupled$1.apply(Function6.scala:35)
    at scala.Function6$$anonfun$tupled$1.apply(Function6.scala:34)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[error] (android:signRelease) Error signing jar (exit code was 1.)
[error] Total time: 43 s, completed Oct 22, 2016 8:21:18 PM
ZelongdeMacBook-Pro:shadowsocks-android gongzelong$ keytool -genkey -v -keystore release.keystore -alias release -keyalg RSA -keysize 2048 -validity 10000
Enter keystore password:  
keytool error: java.lang.Exception: Key pair not generated, alias <release> already exists
java.lang.Exception: Key pair not generated, alias <release> already exists
    at sun.security.tools.keytool.Main.doGenKeyPair(Main.java:1597)
    at sun.security.tools.keytool.Main.doCommands(Main.java:966)
    at sun.security.tools.keytool.Main.run(Main.java:343)
    at sun.security.tools.keytool.Main.main(Main.java:336)

I got the release unsigned apk at ./target/android/output/shadowsocks-release-unsigned.apk
Before the above, I created a keystore by running keytool -genkey -v -keystore release.keystore -alias release -keyalg RSA -keysize 2048 -validity 10000 so I got release.keystore.

Then I created local.properties from local.properties.example.

key.alias: gongzelong
key.store: /Users/gongzelong/Android/githubrepo/shadowsocks-android/release.keystore
key.store.password: 12345678

Then I copy it to ~/.keystore using

mkdir ~/.keystore
cp release.keystore ~/.keystore/release.keystore

I read app-signing

what should I do?

Should I follow the following struction step by step?

3.Align the unsigned APK using zipalign:

Or do something else and when run

sbt native-build clean android:package-release

will directly get the signed app?

@Mygod
Copy link
Contributor

Mygod commented Oct 22, 2016

Read the error log.

jarsigner: Certificate chain not found for: gongzelong.  gongzelong must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

This means the key alias is probably wrong.

@zelongg
Copy link
Author

zelongg commented Oct 23, 2016

I recreated the keystore.

keytool -genkey -v -keystore release.keystore -alias gongzelong -keyalg RSA -keysize 2048 -validity 10000
[info] dex method count: 37052
[info] Packaged: shadowsocks-release-unsigned.apk (6.10MB)
jar signed.

Warning: 
No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2044-03-10) or after any future revocation date.
[info] Signed: shadowsocks-release-unaligned.apk
[info] zipaligned: shadowsocks-release.apk
[success] Total time: 46 s, completed Oct 23, 2016 2:03:16 PM

And I got the final apk at

./target/android/output/shadowsocks-release.apk

Thanks for your help.
Later I may add -tsa to make it perfect.

PS: There seems to be no need to do the below step.

Put your key in ~/.keystore

Because I do not edit the keystore under the folder ~/.keystore. It can still produce the apk.
What is more, I deleted the folder ~/.keystore and it can also still produce the apk.

@Mygod Mygod closed this as completed in 913ec3c Oct 23, 2016
kaneawk pushed a commit to kaneawk/shadowsocks-android that referenced this issue Oct 23, 2016
@gongzelong0718
Copy link

Marked

766 pushed a commit to 766/sar that referenced this issue May 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants