dexguard | Android app防dex2jar的gradle插件 | Plugin library
kandi X-RAY | dexguard Summary
kandi X-RAY | dexguard Summary
Android app防dex2jar的gradle插件
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of dexguard
dexguard Key Features
dexguard Examples and Code Snippets
Community Discussions
Trending Discussions on dexguard
QUESTION
I am getting java.lang.OutOfMemoryError at app startup i.e Splash Activity, when building release APK with latest dexguard version 9.1.13.
java.lang.OutOfMemoryError: Failed to allocate a 574109856 byte allocation with 938429 free bytes and 253MB until OOM, target footprint 3753717, growth limit 268435456 at com.paymax.mfs.subscriber._AppController.onCreate(Unknown Source:131) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1242) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7218) at android.app.ActivityThread.access$1500(ActivityThread.java:269) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2166) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:257) at android.app.ActivityThread.main(ActivityThread.java:8218) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:626)
following are the dexguard setting in build.gradle(app-level)
...ANSWER
Answered 2022-Mar-08 at 11:06QUESTION
I am trying to generate signed apk for my application but it fails with error Expecting type and name instead of just 'setExtensionCallback' before '(' in line 326 of file 'pathtofile\release\consumer-rules.pro',
I am not sure what is causing and there is no any further information or any detail report about it. This is line 325 and 326 of consumer-rules.pro
-
ANSWER
Answered 2022-Mar-01 at 10:53can you try to keep all the class with metadata
QUESTION
I have a old android project, Now I decided to run it, After migration to androidX and add some upgrade in libraries I got these errors when I am trying to run it:
...ANSWER
Answered 2021-Oct-31 at 22:14ID resources are not supposed to have text in the XML node, the way that yours do.
My best guess is that the build tools were more forgiving about this back when you worked on this project originally. Now, they are enforcing the rules more.
So, if you remove the text from those failing elements, you should be in better shape.
QUESTION
I'm having the following runtime exception in release mode, I've also tried to disable DexGuard. The application works fine in debug.
...ANSWER
Answered 2021-Jul-08 at 13:11It turns out that the minSdkVersion
we are using, 21, is not totally compatible with the set of features used in some expo's unimodules, this, in combination with our very specific build environment and setup, caused the error above.
If you can, upgrading your minSdkVersion
to version 24 solves the issue.
QUESTION
We're using SplashScreen plugin on the Ionic App, which seems to work fine on usual debug and release builds.
But when we turn on the DexGuard/ProGuard for build steps and generate a protected APK file,
there the splash screen is not shown at all.
Instead, a black screen is shown with white strange borders and no spinner anymore.
Here are the screenshots before and after Dexguard:
In dexguard rules I've added the following lines to avoid renaming the splash screen images
...ANSWER
Answered 2021-May-04 at 11:25It turned out dexguard was somehow still touching the splash screen files or resource names.
As a quick fix adding this rule worked:
QUESTION
I am upgrading Dexguard from v8 to latest version 9.0.17 in Android project. Until now, everything was working well, but now I need your help.
After following tutorial how to upgrade from v8 to v9 in Android Studio and rebuilding project, I am getting error: Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id 'dexguard']
I am not sure what is going on. I tried many combos to fix it and make it work but with no success. Her are my files: build.gradle ->
...ANSWER
Answered 2021-Apr-01 at 12:09This should be a pretty simple change, you have the wrong plugin version listed on your classpath.
Change
QUESTION
Numerous other questions on S.E ask exactly this same question.
Some of the highest rated questions are closed as Opinion Based, eg Best practice for storing and protecting private API keys in applications
Some best practices are published here: https://support.google.com/googleapi/answer/6310037?hl=en
In summary:
- Do not embed API keys directly in code
- Do not store API keys in files inside your application's source tree
- Restrict your API keys to be used by only the IP addresses, referrer URLs, and mobile
apps that need them
(This is not possible if you do not know where the client running on a mobile app will be connecting from using the keys) - Restrict your API keys to be usable only for certain APIs
(When you are not the creator of the API this is not possible) - Delete unneeded API keys
- Regenerate your API keys periodically
(Nr 5 and 6 is also not practical for Mobile applications, unless you force the user to Update the app every few days.)
If we pay attention to those best practices it gives Don't but no clear Do's for Mobile apps that need access to, for example, a stock trading API.
Relying on obfuscation such as ProGuard or DexGuard does not void #1 or #2 above, so how does one solve this issue?
...ANSWER
Answered 2021-Mar-05 at 14:20Any key that is distributed with the app can be read by the app for it to use it. The app therefore has what it needs to read the key, even if it is encrypted or obfuscated. An attacker can use the same technique that the app would use, to obtain the key.
Equally, fetching the key form an external source does not protect it. Again an attacker can use the same channel to obtain a copy of the key.
Besides attacking the channel by which the app obtains the key (from an encrypted store inside the package, or from an external source), an attacker can also obtain it from the app's memory or by intercepting network transmissions.
The only secure solution is to never have a copy of the key on the end user device.The key should be kept on a well secured server which will act as a middle-man between the user's device and the end service. Any requests by the client device to the end service needs to be routed via this server.
The server, having the "global project keys", should make the requests to the end service on the behalf of the end user, and return the result (and never any keys) to the client. For the client to use this server, a per-user authenticated session must be used. The server must validate this session for every request prior to forwarding the request on to the end service.
Summary:Use a secure server between the client and the end service to make requests on behalf of clients using the global key.
EDIT: Side note: There is a distinction that needs to be made between per-user keys and keys that are project-wide. It is acceptable to keep keys that are specific to one individual person on that user's device.
QUESTION
In Firebase, I'm getting various crashes in my production app (uses Dexguard), while using Parcelable
.
These crashes are now affecting almost 200 users and are grouped into 3 entries on Firebase.
In one entry, crashes are only on Samsung devices, in another, are only Xiaomi devices and in the other, are more brands but 81% are from HMD Global.
ALL these devices are running Android 10 so this might be a problem with this OS version. I can see that the crashes are contained to 5 or 6 custom objects. Other than that, some crashes are related to:
...ANSWER
Answered 2021-Jan-31 at 18:43This problem was reported a year ago for your first stack trace, the one referring to FragmentManagerState
. It seems to be tied to an Android 10-specific bug.
For your InfoState
crash, putting the object into the bundle as a byte[]
should clear up the problem. That is not an option for you with FragmentManagerState
, though, as that is being done deeper in the Jetpack.
You might want to confirm that you are on the latest androidx.fragment
and androidx.activity
libraries, in case they added a workaround. Otherwise, you might review the comments on that issue, as some developers reported some solutions, but they are rather specific and may or may not relate to your scenario.
QUESTION
Application using Dexguard(8.4.9), Crashlytics(17.2.2), CrashlyticsGradle(2.3.0) Already insert a lot of rules in dexguard-rules and not solved that. All help will be welcome.
Logcat:
D/FirebaseCrashlytics: Checking for crash reports... D/FirebaseCrashlytics: Found crash report /data/user/0/com.xxxxxxx/files/.com.google.firebase.crashlytics/nonfatal-sessions/5F64E11E01BD-0001-6C5D-32B9DF9F8C8E.cls D/FirebaseCrashlytics: Reports are being sent. D/FirebaseCrashlytics: Starting report processing in 1.0 second(s)... D/FirebaseCrashlytics: No log data to include with this event. D/FirebaseCrashlytics: Update app request ID: aca879994130dcc6ab3f551k2j4bjj23 D/FirebaseCrashlytics: No log data to include with this event. D/FirebaseCrashlytics: Result was 204 D/FirebaseCrashlytics: Crashlytics report could not be enqueued to DataTransport java.lang.IllegalArgumentException: Transport backend 'cct' is not registered at com.google.android.datatransport.runtime.scheduling.DefaultScheduler$$Lambda$1.run(:1077) at com.google.android.datatransport.runtime.SafeLoggingExecutor$SafeLoggingRunnable.run(:47) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
...ANSWER
Answered 2021-Jan-18 at 20:15To solve the problem with Firebase Crashlytics you have to put in your minefest:
QUESTION
Firebase Crashlytics have been reporting this crash on huge number of devices having Android 8 and Android 6 on playstore. We are using dexguard in the app too.
Environment and Components I am using are as below.
Project build.gradle
...ANSWER
Answered 2020-Nov-05 at 15:01My first guess it that you're using some incompatible versions of the Firebase SDKs, as there are many interdependencies under the hood.
These days, I'd recommend using the Firebase BoM (bill of materials) to manage all the SDK versions. This allows you to specify a version only once (the version of the BoM), and then include all other SDKs without specifying a version.
To use the latest BoM and the SDKs in your question it'd look like:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install dexguard
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page