如何从 proguard 构建中排除 R*.class 文件

2024-02-16

我距离制定此处描述的方法仅一步之遥:使用 Scala 2.8 Trunk 构建面向 Android https://stackoverflow.com/questions/2761443/targeting-android-with-scala-2-8-trunk-builds

处理单个项目(相对于 scala 的一个项目和 android 的一个项目)。

我遇到了一个问题。使用此输入文件(参数)进行混淆:

-injars bin;lib/scala-library.jar(!META-INF/MANIFEST.MF,!library.properties)

-outjar lib/scandroid.jar

-libraryjars lib/android.jar

-dontwarn
-dontoptimize
-dontobfuscate
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,
                SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keep public class org.scala.jeb.** { public protected *; }
-keep public class org.xml.sax.EntityResolver { public protected *; }

Proguard 成功构建了 scandroid.jar,但它似乎包含了 android 资源构建器生成和编译的生成的 R 类。在本例中,它们位于 bin/org/jeb/R*.class 中。这不是我想要的。 android dalvik 转换器无法构建,因为它认为存在 R 类的重复项(它位于 scandroid 和 R*.class 文件中)。如何修改上述 proguard 参数以从 scandroid.jar 中排除 R*.class 文件,以便 dalvik 转换器满意? 编辑:我应该注意,我尝试添加 ;bin/org/jeb/R.class;etc... 到 -libraryjars 参数中,这似乎只会导致它抱怨重复的类,此外 proguard 决定排除我的 scala 类文件也是如此。


我使用这个选项。您可以从下面的链接找到参考并找到“完整的 Android 应用程序”。http://proguard.sourceforge.net/index.html#/manual/examples.html http://proguard.sourceforge.net/index.html#/manual/examples.html

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

如何从 proguard 构建中排除 R*.class 文件 的相关文章

  • 仅在 1.8 或更高版本的源级别允许使用 Lambda

    我的 Eclipse 版本为 1 8 mars 2 版本 并且我将compliance java 级别设置为 1 8 如下所示 但我仍然收到错误 Lambda 仅允许在源级别 1 8 或更高版本 You also nend to set y
  • SWT 设置列高或插入新行

    我目前有一个带有几个 TableColumn 的表 org eclipse swt widgets Table 然而 由于用户界面空间的限制 我遇到了一些问题 举例来说 我有一个名为 目标用户 的表列 并且不能将其命名为其他任何名称 并且必
  • 在 CustomAdapters 中使用条件 if(view==null)

    我正在为 ListView 编写一个自定义适配器 它扩展了 BaseAdapter 并在此方法中 Override public View getView int position View convertView ViewGroup pa
  • 配置 OPC UA 服务器 (Milo)?

    我刚刚查看了 Eclipse Milo 项目 https projects eclipse org proposals milo https projects eclipse org proposals milo 这对于 开放 OPC UA
  • Android 当应用程序启动时显示白屏几秒钟?

    我没有调用任何 URL 请求 该应用程序显示了一个简单的启动屏幕 我也禁用了即时运行 但该警告仍然出现 06 26 09 26 05 022 8709 8709 saurav com navigation drawer I art 后期启用
  • 如何正确地将MapStruct与Eclipse集成? (包括Lombok java代理)

    我愿意在一些官方项目中使用MapStruct 所以我决定先对其进行一些测试 我需要让它与 eclipse 集成工作 并遵循 MapStruct 网站上提供的所有说明 但是 到目前为止还没有运气 有人成功实现了这种整合吗 如果是的话我可以缺少
  • 华为移动服务的 Android 虚拟设备

    我想将HMS应用到我的应用程序中 然而 购买真正的华为手机并不在我的候选清单上 华为是否为此目的提供 Android 虚拟设备 如果没有 如何测试我的 HMS 实现是否真正有效 是的 华为确实提供了一个 Android 虚拟设备 名为App
  • Recycler查看可见项目的数量

    我正在我的应用程序中创建一个水平 RecyclerView 它必须一次在屏幕上显示 2 个图像 因此每个图像的宽度必须为屏幕的 50 目前它工作正常 但每个项目都会占用屏幕的所有宽度 这是我的代码 mRecyclerView Recycle
  • 如何使用远程 URL 在 Android 模拟器中播放 mp4 视频?

    如何使用远程 URL 在 Android 模拟器中播放 mp4 视频 我使用了以下代码 但此代码给我错误 抱歉 该视频无法播放 07 05 16 58 19 525 INFO AwesomePlayer 34 mConnectingData
  • android,如何重命名文件?

    在我的应用程序中 我需要录制视频 在开始录制之前 我为其指定名称和目录 录制完成后 用户可以重命名其文件 我写了以下代码 但似乎不起作用 当用户输入文件名并单击按钮时 我将执行以下操作 private void setFileName St
  • VideoView中的seekTo

    我在寻找视频时遇到问题 我的应用程序应该从上次停止的位置恢复视频 所以我这样做 videoView seekTo bookmark videoView start 然而 当它播放时 我听到视频开头的声音大约 1 2 秒 只有在该视频寻找到正
  • Android 上的 React Native:无法运行程序“node”:错误=2,没有这样的文件或目录

    编辑 我不确定我采取了哪些步骤来解决此问题 并且不再看到此错误消息 因此我无法测试下面的解决方案 请单独尝试 因为不同的答案似乎适用于不同的人 iOS 版本工作正常 但在我的 Mac 上运行 Android Studio 时出现以下 Gra
  • 返回 RxJava 的 Completable 的方法的命名约定

    我有一个带有视图类的 Android 应用程序 Fragment Activity 观察其ViewModel The ViewModel公开方法 例如getUserName返回Observable
  • 未找到 ID 为“com.android.feature”的插件

    在将我现有的应用程序转换为即时应用程序时 使用这个 Codelab 教程 https codelabs developers google com codelabs android instant apps 遇到这个错误 Plugin wi
  • 无法放置双重 SharedPreferences

    出现错误 这种类型的共享首选项编辑器的 put double 方法未定义 Eclipse 提供了一种快速修复方法 将强制类型转换添加到编辑器 但是当我这样做时 它仍然给出错误 为什么我不能 put double 代码 Override pr
  • 有没有办法检测apk是否存储在SD卡上?

    有没有办法检测apk是否存储在SD卡上 如何 使用 getApplicationInfo sourceDir http developer android com reference android content pm Applicati
  • 使用本机短信编辑器发送短信后如何返回意图

    我正在使用下面的代码使用本机短信编辑器发送短信 Intent intent new Intent Intent ACTION VIEW intent putExtra address 1234567890 intent putExtra s
  • 在 Android 应用程序中启动应用程序时仅显示一次版本信息

    我想显示一个带有 确定 按钮的简单信息对话框 介绍此版本中的新增内容 但它应该仅在第一次启动时显示 实施这个的最好方法是什么 我会 并且已经 使用带有布尔值或 int 值的 SharedPreferences 只需检查最后一个版本是否比当前
  • 与桌面浏览器相比,移动浏览器有多强大? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • E/libEGL: validate_display:99 错误 3008 (EGL_BAD_DISPLAY) API 24 或更高版本

    当我使用 API 为 24 或更高版本的设备时 我收到此错误 E libEGL validate display 99 错误 3008 EGL BAD DISPLAY XML 代码 activity main xml

随机推荐

  • 如何使用 indy10 Delphi 发送西里尔文数据

    当我在网站上发送一些西里尔文字时 该文字显示为 这是我的发送功能 http TIDHttp Create nil http HandleRedirects true http ReadTimeout 5000 http Request Co
  • 升级 vs 2012 更新 3 后无法连接到团队项目

    我最近将我的 Visual Studio 从 2012 update 1 升级到 update 3 自升级以来 团队资源管理器显示空的离线主页 按团队资源管理器的连接页面上的 配置团队项目 不会执行任何操作 我尝试修复 卸载和安装并删除团队
  • 如何在 Objective-C 中使用 Swift 非 NSObject 子类

    我在 Objective C 项目中使用 Swift 时遇到一些问题 例如 我使用以下库 https github com Hearst DD ObjectMapper https github com Hearst DD ObjectMa
  • jQuery 将浏览器名称添加到 css-class 中

    我使用 jQuery 来检测用户浏览器代理 然后将浏览器名称作为 css 类添加到正文中 这对于 webkit 和 mozilla 来说就像魔术一样 但是对于 msie 它失败了 但不知道为什么 对于msie 我不仅要添加 msie 还要添
  • 什么是 YUV 格式? (从一个不会玩的初学者的角度来看)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 视频质量指标称为VMAF https github com Netflix vmaf由 Netflix 评估 YUV 格式的视频 但什么是
  • Web 套接字会让 ajax/CORS 过时吗?

    在所有 Web 浏览器中使用 Web 套接字会使 Ajax 过时吗 因为如果我可以使用 Web 套接字来实时获取数据和更新数据 为什么还需要 ajax 即使我在应用程序启动时使用 ajax 只获取一次数据 我仍然可能想看看该数据在一段时间后
  • 如何从 iOS 上的音频文件中提取元数据

    我正在尝试使用 AVFoundation 框架从 mp3 和 m4a 文件中提取元数据 这是测试代码 void printMetadataForFileAtPath NSString path NSURL url NSURL fileURL
  • 使用 SQL 检查列是否包含文本

    我有一个名为studentID 但我有millions记录 并且应用程序以某种方式输入了一些任意文本在专栏中 我如何搜索 SELECT FROM STUDENTS WHERE STUDENTID CONTAINS TEXT 将数据库建模问题
  • 为什么 CSS 中引入了边距折叠规则?

    这套巧妙的规则什么时候可以发挥作用 它们打破了盒子模型的简单性 当您将不同的布局组合在一起时 它们会带来无限的麻烦 那么原因是什么呢 Rules http www w3 org TR css3 box collapsing margins供
  • ftp_ssl_connect 和 ftp_nlist

    我需要连接到远程系统以获取一些文件 远程系统的规格提到 所需的协议是 SFTP SSH 文件传输协议 端口号是22 首先 我使用 FTP 客户端应用程序尝试使用给定的凭据登录新服务器 起初我 遵循系统的规格 使用了通过 SSH 进行 SFT
  • JOptionPane 变灰一键

    我需要使用一个JOptionPane给用户两个选择 根据之前的操作 可能需要禁用其中一个按钮 是否可以与JOptionPane能够将其中一个按钮设置为禁用或启用吗 我怎样才能做到这一点 如果您使用 JButtons 这很容易 public
  • 在 PowerShell 中将控制台设置为最顶层

    因此 虽然有很多关于如何设置的建议forms最上面 我找不到任何可以让我的控制台在最上面运行的东西 所以我的问题是 如何让我的控制台在脚本期间运行在最上面 这需要一些 NET 互操作 如本博客中所述 TechEd 2012 中的脚本 第 1
  • worklight ant 任务应用程序部署 - WL 控制台安全性处于活动状态时出现未经授权的错误

    我正在尝试使用提供的 ant 任务 app deployer 将应用程序部署到 WL Server v5 0 5 这是我使用的简单构建文件
  • Pandas - 将内存中作为字符串存储的csv读取到数据帧

    将逗号分隔的文本存储在如下所示的 var 中 data Class Name Long Lat A ABC11 139 6295542 35 61144069 A ABC20 139 630596 35 61045559 A ABC03 1
  • Pandas 层次排序

    我有一个类别和金额的数据框 可以使用冒号分隔的字符串将类别无限嵌套到子类别中 我希望按金额降序排序 但以分层类型的方式如图所示 我需要如何排序 CATEGORY AMOUNT Transport 5000 Transport Car 490
  • 为什么 emma 不完全覆盖 finally 块?

    我不明白为什么艾玛没有为 finally 块提供完整的代码覆盖率 我制作了一个简短的示例程序来演示这一点 当我执行该程序时 它显示 try finally 所以我不明白为什么finally被标记为红色 未执行 而 finally print
  • 更改项目目标框架后应用程序设置错误

    在我的应用程序中 我正在使用用户设置 如下所述here http msdn microsoft com en us library aa730869 28v vs 80 29 aspx 然后我意识到在 VS 2010 中我使用的是 NET
  • 混合文件和循环[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在编写一个脚本 该脚本记录另一个程序的错误 并在遇到错误时从中断处重新启动该程序 无论出于何种原因 该程序的开发人员
  • 如何在 EF 查询中执行日期比较?

    请帮忙 我试图弄清楚如何在 linq 查询中使用 DATE 或 DATETIME 进行比较 例子 如果我想要今天之前开始的所有员工姓名 我会在 SQL 中执行以下操作 SELECT EmployeeNameColumn FROM Emplo
  • 如何从 proguard 构建中排除 R*.class 文件

    我距离制定此处描述的方法仅一步之遥 使用 Scala 2 8 Trunk 构建面向 Android https stackoverflow com questions 2761443 targeting android with scala