java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/preference/PreferenceManager;
See original GitHub issueDescribe the bug
Below exception is thrown when I init the trust kit for android using below line
TrustKit.initializeWithNetworkSecurityConfiguration(context)
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/preference/PreferenceManager;
at com.datatheorem.android.trustkit.utils.VendorIdentifier.getOrCreate(VendorIdentifier.java:24)
at com.datatheorem.android.trustkit.TrustKit.<init>(TrustKit.java:209)
at com.datatheorem.android.trustkit.TrustKit.initializeWithNetworkSecurityConfiguration(TrustKit.java:321)
at com.datatheorem.android.trustkit.TrustKit.initializeWithNetworkSecurityConfiguration(TrustKit.java:271)
To Reproduce There are no steps just the init line causes this issue and this issue has nothing to do with network_security_config and thats added under application tag in app’s manifest and in xml directory under res. The pattern for my base url is added and I am using 64 char length pinset. My network config is below for ref.
Expected behavior I want to implement SSL pinning for Android 21 and above.
TrustKit configuration
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">abcd.abcd-abcd.com</domain> <pin-set> <pin digest="SHA-256">XXX</pin> <pin digest="SHA-256">XXX</pin> <pin digest="SHA-256">XXX</pin> </pin-set> <trustkit-config enforcePinning="true" /> </domain-config> </network-security-config>
App details:
- App target SDK: 30
- App Min SDK: 21
- App language: Java, Kotlin
- Android R or API 30 (Tested on pixel 2 emulator)
Issue Analytics
- State:
- Created 3 years ago
- Reactions:11
- Comments:7
Top GitHub Comments
We are using the 1.1.2
The resolution is to add the following dependency:
implementation 'androidx.preference:preference-ktx:1.1.1'