将 Spongycastle 与 Proguard 一起使用

2024-02-24

我一直在努力使用 Proguard 来让 Spongycastle 正常工作。 大多数时候,问题出现在我导出签名的 APK 时,要么出现错误,要么应用程序在启动前崩溃。

因此,我设法收集信息以获得有效的混淆器配置:

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-repackageclasses ''
-allowaccessmodification
-keepattributes *Annotation*

-optimizations !code/simplification/arithmetic

-libraryjars C:\Program Files\Java\jre7\lib\rt.jar
-libraryjars libs\sc-light-jdk15on-1.47.0.2.jar
-libraryjars libs\scprov-jdk15on-1.47.0.2.jar

-injars libs

-outjars bin/classes-processed.jar

-dontwarn javax.naming.**
-dontwarn android.support.**


####
-keep class org.**  { *; }

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

我在跑ADT版本:22.0.0.v201305140200--675183测试手机是安卓2.3.5下

借用我的部分是“-keep class org.** { *; }“……我做得对吗?我已经尝试过了”-keep class org.spongycastle.** { *; }”,但是应用程序在启动前崩溃...

Thanks !


我们添加了

-keep class org.spongycastle.**
-dontwarn org.spongycastle.jce.provider.X509LDAPCertStoreSpi
-dontwarn org.spongycastle.x509.util.LDAPStoreHelper

但我们现在遇到了这个库的 DEX 方法限制 2^16 的问题。 我们只需要它用于 MD5 和 SHA-1 算法,因为有些手机不提供这些算法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Spongycastle 与 Proguard 一起使用 的相关文章

  • Firebase 管理 SDK Android

    在 Android 中初始化 Firebase Admin SDK 的代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedIns
  • getItem 与 getItemAtPosition

    有两种方法可以获取列表视图中的选定项目 list getAdapter getItem position list getItemAtPosition position 我的问题是 哪一种是首选的做法 我见过人们同时使用这两种方法 您可以使
  • 从 Throwable 获取错误代码 - Android

    我怎样才能从错误代码可投掷 https developer android com reference java lang Throwable html public void onFailure Throwable exception 我
  • 导航组件重复 NavArgs 的问题

    我有一个片段 class SomeFragment private val args by navArgs
  • Android SoundPool 堆限制

    我正在使用 SoundPool 加载多个声音剪辑并播放它们 据我所知 它的功能 100 正确 但在 load 调用期间 我的日志中充斥着以下内容 06 09 11 30 26 110 ERROR AudioCache 23363 Heap
  • 在自定义对象中创建时粘性服务不会重新启动

    我有一个具有绑定服务的单例对象 我希望它重新启动 当我从启动器启动应用程序时 单例对象将初始化并绑定到这个现有的服务实例 以下是在单例中创建和绑定服务的代码 public class MyState private static MySta
  • 共同的偏好不断消失

    我正在使用共享首选项来存储我的应用程序的登录凭据 除了一个用户之外 一切正常 一段时间后 共享偏好似乎会以某种方式重置或清除 我已针对该用户调整了我的应用程序 使其不再清除他的共享偏好设置 这样我就可以确定这不是我的应用程序的错 但即使在这
  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • RxJava、Proguard 和 sun.misc.Unsafe

    我有以下问题RxJava 1 1 0 使用时Proguard 我没有更改 RxJava 版本或其 pro文件 但更新后OkHttp我无法编译使用Proguard因为我有关于sun misc Unsafe不在场 rxJava pro keep
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 如何在 sqlite 中将 2 列合并为新列

    我有一个包含 3 列的表 我必须将 2 列中的值按降序排列到一列中 A B C z 1 2 f 5 7 s 9 5 使用此示例 输出会将 B 列和 C 列中的值放入其中 如下所示 A B s 9 f 7 f 5 s 5 z 2 z 1 我当
  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • MediaCodec 创建输入表面

    我想使用 MediaCodec 将 Surface 编码为 H 264 使用 API 18 有一种方法可以通过调用 createInputSurface 然后在该表面上绘图来对表面中的内容进行编码 我在 createInputSurface
  • Android相机意图:如何获取全尺寸照片?

    我正在使用意图来启动相机 Intent cameraIntent new Intent android provider MediaStore ACTION IMAGE CAPTURE getParent startActivityForR
  • Android Webview 图像未加载

    我制作了一个简单的应用程序WebView 但有些图片无法加载 正确 在我的电脑上 错误 在模拟器中 Correct 错误 没有横幅 于是我用Chrome debug进行调试 发现我的代码被改变了 我不添加像noscript or style
  • 在 Android 上按下电源按钮时,如何防止先调用 onDestroy() 再调用 onCreate()

    我正在记录每个 onCreate 和 onDestroy 调用 我发现 一旦我单击 Android 上的电源按钮 以及模拟器上的电源按钮 我的活动中就会拨打电话 gt onDestroy gt onCreate 这会杀死我的游戏 然后立即从
  • 通过 ADB 拔出设备:“找不到服务”

    我必须测试我的应用程序在打瞌睡模式下的行为 根据文档 https developer android com training monitoring device state doze standby html testing doze 我
  • 下载后从谷歌照片库检索图像

    我正在发起从图库中获取照片的意图 当我在图库中使用 Nexus 谷歌照片应用程序时 一切正常 但如果图像不在手机上 在 Google Photos 在线服务上 它会为我下载 选择图像后 我将图像发送到另一个活动进行裁剪 但在下载的情况下 发
  • 使用 Espresso 检查 EditText 的字体大小、高度和宽度

    如何使用 Espresso 检查 EditText 的字体大小 高度和宽度 目前要分割我使用的文本 onView withId R id editText1 perform clearText typeText Amr 并阅读文本 onVi

随机推荐

  • 如何使用 codeigniter 表单助手添加属性

    我找不到这个问题的答案 假设我使用代码点火器表单助手输出一个输入字段 echo form input username username 如何添加属性 例如class or id对此input filed 您可以传递一个关联数组 其中包含您
  • 我应该在长时间运行的 AsyncTask 中使用 getApplicationContext 还是 Activity.this

    我有一个长时间运行的异步任务 它将一些数据发送到我的服务器 然后停止 整个过程可能涉及一些请求和响应 我必须从数据库读取数据 发送数据并处理响应并相应地更新我的数据库 我正在使用内容提供程序从数据库读取和更新数据 现在要使用内容提供程序 我
  • 将数组除以值的有效方法是什么?

    只是想知道 将数组除以标量的最有效方法是什么 我可以清楚地循环它 但在我的情况下效率是最重要的 常见的琐碎方式 var array 2 var array 1 original data var divisor my scalar for
  • Windows C++ 服务启动时 ucrtbase.dll 出现故障

    所以我开发这个程序已经有一段时间了 它的目的是充当我们 IT 团队的资产管理器 将来可能会更多 我有 2 项服务 我们现在将其称为 Manager 和 IAM 管理器 负责所有服务 目前只有库存资产管理器 称为 IAM 的所有管理工作 例如
  • 未授予 Google Drive API 读取权限

    我正在尝试使用 Google Drive API 从 Google Drive 下载随机文件 尽管运行代码后我收到一条错误消息 用户尚未授予应用程序 app code 对文件 文件名 的读取权限 如何授予该文件的读取权限 我在互联网上和 A
  • 无法使用 Dockerfile 命令更新 Openssl.cnf 文件

    我正在开发一个基于 NET 5 构建的应用程序 我们生成 docker 映像 最近 我使用作为基础的自定义 Docker 映像之一遇到问题 我的应用程序中很少有外部端点 但出现 SSL 证书错误 在对这个问题进行了一些研究之后 我发现ope
  • 如何在 Silverlight 中设置 TextBox 的行为风格?

    在 Xaml 中 我可以为文本框添加自定义行为 例如
  • 如何获取“t”的值,以便我的函数“h(t)=epsilon”为固定的“epsilon”?

    继这个问题之后 如果我已经生成了m 1000随机向量x 0均匀分布在随机矩阵 GOE 的球体和特征向量上 make this example reproducible set seed 101 n lt 500 Sample GOE ran
  • 如何使用 Yarn 升级所有范围内的软件包?

    是否可以升级我的依赖项部分中的所有特定范围的包package json通过使用 Yarn 包管理器 例如 yarn upgrade scope 这将升级所有范围内的包yarn lock and package json file https
  • 使用pygame进行多线程处理,程序崩溃

    大家好 提前感谢您的帮助 我刚刚发现了 pygame 一个 python 库 我想用它玩一下 但我遇到了一个问题 我尝试在代码中使用线程 但每次启动程序时都会崩溃 我已经隔离了问题并且我知道它是thread 1这会导致崩溃 因为当我将其注释
  • 如何将文本输入与图像按钮对齐?

    我有一个表单 其中输入字段的最后一行后面跟着 2 个图像按钮 无论我尝试什么 我似乎都无法将按钮与字段水平对齐 这是所有代码 http jsfiddle net h3ZPk http jsfiddle net h3ZPk 添加此规则 but
  • 使用未声明的标识符 self [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我创建了一个名为 Data pars
  • ASP.Net 1.1 视图状态安全

    在 ASP Net 1 1 中 最终用户是否可以在将视图数据发送回服务器之前更改视图数据 例如使其看起来像是在不存在的下拉列表中选择了一个项目 我尝试使用 firebug 操作下拉列表中的值 但服务器似乎忽略了这一点 我推测是因为视图状态表
  • BigQuery Python 客户端库中查询结果的差异

    我想知道 query 的返回值和 query result 之间的区别 在 BigQuery Python 客户端库中 bigquery client bigquery Client myQuery SELECT FROM mytable
  • 将columnNames动态传递给cassandraTable().select()

    我在运行时读取文件的查询并在 SPark Cassandra 环境中执行它 我正在执行 sparkContext cassandraTable keyspaceName colFamilyName select col1 col2 col3
  • 如何关闭 PDO 句柄

    我正在使用 PDO 访问 PHP 中的两个 SQLite 3 数据库 我想在查询期间通过重命名数据库文件来切换数据库文件 但在文件打开时我无法执行此操作 因为它会给出文件正在被另一个进程使用的错误 我尝试关闭持久连接并将句柄设置为空 但都不
  • 从命令行模拟执行二进制文件?

    有没有办法从命令行在 Simics 模拟下执行简单的 Linux 二进制文件 就像是 simics some flags a out Simics 现在没有开箱即用的应用程序模式 或系统调用模式 根据需要 可以将有效负载编译为 ELF 文件
  • 在c#中的TREEVIEW中添加复选框

    我想添加复选框到我的应用程序中树视图中某个父节点的子节点 我应该如何添加它 TreeView拥有一个名为CheckBoxes 如果设置为true 它显示所有子节点的复选框
  • 可变长度表中的内存分配

    假设我在中定义了以下可变长度表WORKING STORAGE 01 SOAP RECORD 05 SOAP INPUT PIC X 8 VALUE SPACES 05 SOAP STATUS PIC 9 VALUE ZERO 05 SOAP
  • 将 Spongycastle 与 Proguard 一起使用

    我一直在努力使用 Proguard 来让 Spongycastle 正常工作 大多数时候 问题出现在我导出签名的 APK 时 要么出现错误 要么应用程序在启动前崩溃 因此 我设法收集信息以获得有效的混淆器配置 optimizationpas