标签: cordova-plugin-proguard

任务 ':app:minifyReleaseWithR8'.java.lang.NullPointerException 执行失败(无错误消息)

当id将android studio更新到3.6 android gradle工具到3.6.0时,出现问题。当我生成sign apk时,出现异常?是这样的

 Execution failed for task ':app:minifyReleaseWithR8'.java.lang.NullPointerException (no error message)
* Exception is:
10:35:36.483 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:minifyReleaseWithR8'.
10:35:36.483 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:166)
10:35:36.483 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:163)
10:35:36.483 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:191)
10:35:36.483 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:156)
10:35:36.484 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62)
10:35:36.484 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108)
10:35:36.484 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67)
10:35:36.484 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46)
....
Caused by: java.lang.NullPointerException
10:35:36.486 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at com.android.tools.r8.naming.A.a(:7)
10:35:36.486 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   at com.android.tools.r8.naming.A.c(:1)
10:35:36.487 …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio android-gradle-plugin cordova-plugin-proguard

11
推荐指数
1
解决办法
2万
查看次数

如何加密Cordova插件源代码

我正在使用 angularjs 开发 ionic 移动应用程序,为了加密 ionic 应用程序的源代码,我们使用 Cordova 插件“crypt file”在构建时加密代码。在进行APK逆向工程后,我们发现根文件夹“assets/www”按预期加密,但通过使用“java反编译器”工具,我们可以访问“java代码”插件源代码并获得解密密钥。

那么,有没有什么办法可以加密或隐藏插件文件夹,让攻击者无法通过APK看到我们在应用中使用了哪些插件呢?

提前致谢

encryption cordova ionic-framework cordova-plugins cordova-plugin-proguard

5
推荐指数
1
解决办法
1900
查看次数

Cordova 和 proguard:takePicture 上的相机插件 NPE

对不起,如果有人已经要求这个。我对 Stack 很陌生,我没有找到解决方案。

这是我缩小后从我的应用程序的使用中获得的堆栈。

08-29 13:27:30.330 10037-10192/? E/PluginManager: Uncaught exception from plugin
                                              java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.PackageItemInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
                                                  at android.support.v4.content.FileProvider.parsePathStrategy(Unknown Source)
                                                  at android.support.v4.content.FileProvider.getPathStrategy(Unknown Source)
                                                  at android.support.v4.content.FileProvider.getUriForFile(Unknown Source)
                                                  at org.apache.cordova.camera.CameraLauncher.takePicture(Unknown Source)
                                                  at org.apache.cordova.camera.CameraLauncher.callTakePicture(Unknown Source)
                                                  at org.apache.cordova.camera.CameraLauncher.execute(Unknown Source)
                                                  at org.apache.cordova.CordovaPlugin.execute(Unknown Source)
                                                  at org.apache.cordova.PluginManager.exec(Unknown Source)
                                                  at org.apache.cordova.CordovaBridge.jsExec(Unknown Source)
                                                  at org.apache.cordova.engine.SystemExposedJsApi.exec(Unknown Source)
                                                  at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
                                                  at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:7)
                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                  at android.os.Looper.loop(Looper.java:154)
                                                  at android.os.HandlerThread.run(HandlerThread.java:61)
Run Code Online (Sandbox Code Playgroud)

这是我的 proguard 文件:

    # ionic
-keep class org.apache.cordova.** { *; }
-keep class …
Run Code Online (Sandbox Code Playgroud)

plugins android proguard cordova cordova-plugin-proguard

3
推荐指数
1
解决办法
1668
查看次数