我正在尝试使用Proguard处理MS Windows桌面应用程序(使用Eclipse提供的SWT lib的Java 6 SE).我收到以下严重错误:
Unexpected error while performing partial evaluation:
Class = [org/eclipse/swt/widgets/DateTime]
Method = [<init>(Lorg/eclipse/swt/widgets/Composite;I)V]
Exception = [java.lang.IllegalArgumentException] (Can't find common super class of [java/lang/StringBuffer] and [org/eclipse/swt/internal/win32/TCHAR])
Error: Can't find common super class of [java/lang/StringBuffer] and [org/eclipse/swt/internal/win32/TCHAR]
----------------------------
Run Code Online (Sandbox Code Playgroud)
当我试图谷歌的错误,它只出现在整个网络上的两个点,这让我非常惊讶.我是新手,使用Proguard和Java代码优化工具.任何想法和建议如何解决这个问题,将不胜感激.提前致谢.
以上错误现已修复,使用"-dontskipnonpubliclibraryclasses"
- 最新更新:
我现在还有另一个错误.整个输出现在如下:
D:\eclipse_projs\java_obfuscate\gci>gci.bat
ProGuard, version 4.4
Reading program jar [D:\eclipse_projs\java_obfuscate\gci\gci.jar]
Reading library jar [D:\jre1.6.0_07\lib\rt.jar]
Unexpected error while evaluating instruction:
Class = [org/eclipse/swt/widgets/Synchronizer]
Method = [runAsyncMessages(Z)Z]
Instruction = [60] aload_1 v1
Exception = [java.lang.IllegalArgumentException] (Value is not …Run Code Online (Sandbox Code Playgroud) 如何在PHP中逐字节写入socket?
例如,我该怎么做:
socket_write($socket,$msg.14.56.255.11.7.89.152,strlen($msg)+7);
Run Code Online (Sandbox Code Playgroud)
伪代码连接数字实际上是dec中的字节.希望你能理解我.
我想从删除中跳过某个特定的类.它通常不会在我的应用程序中的任何地方引用,而只是通过反射引用,因此它会被收缩器删除.它在其包中被其他"相邻"类引用,但是,不是直接用于我的应用程序,而是仅通过反射.
我决定专门针对这个特定的类,一个映射:
org.mypckg.Helper -> gh6
Run Code Online (Sandbox Code Playgroud)
...然后当然我用我的应用改变了反射调用:
forName("gh6")
Run Code Online (Sandbox Code Playgroud)
我的映射输入似乎没有问题,但映射规则本身不足以阻止类被删除.另外我仍然无法使用-keep开关来保持类,因为它确实使用其原始名称(org.mypckg.Helper)来保留它,这是我不想要的.
出于这样或那样的原因,我无法在项目中手动将类重构(重命名)为"gh6".
最新的 Chrome、Firefox 或 IE 是否可以要求用户提供文件的“另存为”位置,然后使用您自己的 javascript 算法“附加”字节到所需/按用户选择的位置逐块写入文件。让我澄清一下:
我认为完全转换为BigInteger []在我的情况下是最佳的.有没有人用Java编写并发现这个并愿意分享?
所以想象一下,我有任意大小byte[] = {0xff,0x3e,0x12,0x45,0x1d,0x11,0x2a,0x80,0x81,0x45,0x1d,0x11,0x2a,0x80,0x81}
如何将其转换为BigInteger数组,然后能够安全地将其恢复回原始字节数组?
ty提前.
该表包含大约40,000,000条记录:
CREATE TABLE `event` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`some_other_id_not_fk` int(10) unsigned default NOT NULL,
`event_time` datetime NOT NULL,
`radius` float default NULL,
`how_heavy` smallint(6) default NULL,
PRIMARY KEY (`id`),
KEY `event_some_other_id_not_fk` (`some_other_id_not_fk`),
KEY `event_event_time` (`event_time`)
) ENGINE=MyISAM AUTO_INCREMENT=6506226 DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)
您应该知道some_other_id_not_fk列不大,它只包含7个不同的数字.真正的痛苦是event_time日期时间列,因为它包含非常大量的不同日期时间,并且基本上允许所有内容:重复以及不可预测的大时间间隔而没有记录来"覆盖"它们.您还应该知道(some_other_id_not_fk,event_time)对必须允许重复:(我知道这会导致更多问题:(
我在优化MySQL表方面有一些经验,但是这种巨大的痛苦从未出现在我的视野中:/
"事物"的当前状态是:
event_timedate1和date2之间的选择(我需要做的)是令人满意的快速.:)到目前为止,我会尝试几种不同的重新索引组合,但是这些数据的大小确实阻止了我对索引进行实验并且随意删除/创建列.
请帮助任何人管理过这个?应该使用timestamp而不是datetime解决我的问题?或者,也许我应该添加更多的列day,year...等和对他们索引?
假设我在 makefile 中有以下通配符匹配项:
data-files = $(wildcard $(ptdf)/*.png) \
$(wildcard $(ptdf)/*.gif) \
$(wildcard $(ptdf)/*.bmp) \
$(wildcard $(ptdf)/*.jpg) \
$(wildcard $(ptdf)/*.ico) \
$(wildcard $(ptdf)/*.dist) \
$(wildcard $(ptdf)/*.html)
Run Code Online (Sandbox Code Playgroud)
通配符语法能否让我能够像正则表达式\w{1,2}那样匹配包含 1 到 2 个字母的文件名?没有文件扩展名?
如果没有,我该如何使用 linux 命令(例如find,等)使用其他语法来做到这一点?
在Java中:如何访问动态引用类的静态属性?我举一个简短的例子:
AppleTree.areTheyAllGrown=true;
Run Code Online (Sandbox Code Playgroud)
我只是想动态引用静态属性的类'areTheyAllGrown'这个静态属性可以是AppleTree的成员,也可以是其他一些类的成员,其中cource也会有相同的命名静态属性:'areTheyAllGrown'.
只要我的应用程序逻辑要求我有许多其他树类型,如CherryTree,ApricotTree等,这意味着接口TreeBehaviour不是足够的解决方案,因为通过设置AppleTree的'areTheAAllGrown',我想标记让我们说:只有我的AppleTree实例,而不是所有Tree实例.看到?
你会说:制作一个AppleTreeImpl接口并将属性放在那里......好吧......这会强制接口,仅为一个属性创建... Impl接口用于我所有不同的树类型?是不是有更短的解决方案?
当然,我看到许多其他方法来实现整个内容,并且需要动态引用类,但我感兴趣如果我能通过这种方法特别做到这一点.也没有过多使用接口或其他辅助类,也没有Tree类之外的公共属性.
java ×4
byte ×2
class ×2
obfuscation ×2
optimization ×2
proguard ×2
algorithm ×1
biginteger ×1
browser ×1
database ×1
fileapi ×1
find ×1
gnu-make ×1
html ×1
indexing ×1
javascript ×1
linux ×1
mysql ×1
php ×1
preserve ×1
properties ×1
raw-sockets ×1
regex ×1
sockets ×1
static ×1
syntax ×1
wildcard ×1