我使用ProGuard来优化我的Android应用程序.但是对于Android检测测试,我需要一些(但不是全部)类来保留所有成员.我尝试了各种方法,最后一种方法是:
-keepclassmembers public class com.mycompany.myclass {
*;
}
Run Code Online (Sandbox Code Playgroud)
但令人惊讶的是我仍然得到了
java.lang.NoSuchMethodError: com.mycompany.myclass.<init>
Run Code Online (Sandbox Code Playgroud)
这里痛苦的部分是有两个构造函数,一个有很多参数.
有没有人知道正确的语法来保持类完全不变并且不受ProGuard的影响?
注意,您无法使用Java 1.7 jarsigner签署Android APK.所以我想知道为什么这是1.6和1.7签名者有什么区别?
EclipseLink/Maven wiki上引用的链接在switch.ch上的Error 403页面上结束.如果您被重定向到更好的镜像,那么这已经是答案了.
如果不是:存储库去了哪里?在网上搜索只会发现EclipseLink/Maven在Wiki-Page上存在拼写错误的历史.但是,我发现所有纠正的链接也在错误页面上结束.
当我使用netbeans(6.9)创建"开发"glassfish(3.1)域时,则不需要密码.一切都神奇地运作.
乍一看很好.直到您确实需要知道管理员用户和密码.
正常的组合admin/adminadmin实际上不起作用.
另外,正常的主密码的changeit不会得到我的任何地方.
有没有人知道netbeans在创建glassfish域时使用的凭据?
当然,我尝试使用asadmin创建域.但是NetBeans并不喜欢这些域名,即NetBeans开始要求密码,域名的自动启动不再起作用.麻烦没有结束.
更新1:
我尝试使用建议的空密码,但这也不起作用:
Authentication failed for user: admin
with password from password file: …\Domain.properties
(Usually, this means invalid user name and/or password)
Command create-file-user failed.
Run Code Online (Sandbox Code Playgroud)
我在坚硬的岩石和深蓝色的大海之间吗?NetBeans创建的域不能与命令行一起使用,命令行创建的域不能与netbeans一起使用?
有时我知道GUI元素看起来像,但我不知道Android中使用的名称.对于大多数其他GUI,教程将包含所有GUI元素的列表,除了它之外还有一个漂亮的图形,因此您可以知道它的外观.Android是否存在某些链接.
是否有应用程序的运行时检查,以确定它是否作为检测测试的一部分运行?
背景:我们的应用程序在启动时执行数据库同步.但这应该只在定期开始时才会发生.它尤其会干扰测试db sync的检测测试.不出所料.
而对于所有其他测试,它只是浪费CPU周期.
java.lang.String.equalsIgnoreCase由于不正确使用语言环境,有很多很多例子可以解释为什么以及何时会失败.
但我没有找到任何正确方法的例子.与java.lang.String.toUpperCase没有带语言环境参数的版本不同.将两个字符串转换为大写或小写似乎都是浪费.特别是当您正在进行大量比较的应用程序时.
在考虑区域设置和性能的情况下,进行忽略大小写字符串比较的正确方法是什么?
我目前正在评估Scala的未来项目,并遇到了一些奇怪的事情.我在JSP中为我们创建了以下常量:
val FORMATED_TIME = "formatedTime";
Run Code Online (Sandbox Code Playgroud)
它没有用.经过一些实验,我决定反编译以找到它的底部:
private final java.lang.String FORMATED_TIME;
public java.lang.String FORMATED_TIME();
Code:
0: aload_0
1: getfield #25; //Field FORMATED_TIME:Ljava/lang/String;
4: areturn
Run Code Online (Sandbox Code Playgroud)
现在这很有趣!就个人而言,我一直想知道为什么检查员需要前缀get和mutator前缀在Java中设置,因为它们位于不同的名称空间中.
然而,向团队的其他成员解释这可能仍然很尴尬.那么没有检查员就可以有一个公共常数吗?
它不会一直发生,但有时我发现这样的东西:
>dir /SF target\.svn
…\target\Zeiterfassung-web\WEB-INF\.svn\.
…\target\Zeiterfassung-web\WEB-INF\.svn\..
…\target\Zeiterfassung-web\WEB-INF\.svn\lock
Run Code Online (Sandbox Code Playgroud)
怎么会发生这种情况,因为Maven默认会忽略.svn目录?
我可以明确地排除它们(请注意WEB-INF - 它既不是源也不是资源)?
或者可以将血腥的.svn数据放在其他地方与工作文件分开(就像clearcase一样)?
请求的POM(减去scm和问题管理):
<project
xmlns='http://maven.apache.org/POM/4.0.0'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd'
>
<!-- Projekt - - - - - - - - - - - - - - - - - - - - - - - - {{{1 - - - -->
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>Zeiterfassung</artifactId>
<groupId>com.noser</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../Zeiterfassung</relativePath>
</parent>
<groupId>com.noser</groupId>
<artifactId>Zeiterfassung-web</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Zeiterfassung Webapp</name>
<description>Mobile Applikation Zeiterfassung — Web Archive/Application</description>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>java.net2</id>
<name>Repository hosting the jee6 artifacts</name>
<url>http://download.java.net/maven/2</url>
</repository> …Run Code Online (Sandbox Code Playgroud) 使用Intelij-IDEA编译Android模块时,我收到以下错误消息:
Cannot find package value in AndroidManifest.xml for module
Run Code Online (Sandbox Code Playgroud)
悬停帮助告诉我在设置对话框中填写"资源"页面.但是,实际上我必须填写什么?
清单文件很漂亮(它是一个库)
<manifest
android:versionCode='1'
android:versionName='0.1'
package='com.XXX.datamodel'
xmlns:android='http://schemas.android.com/apk/res/android'
>
<uses-sdk
android:minSdkVersion='4'
android:targetSdkVersion='8'
></uses-sdk>
</manifest>
Run Code Online (Sandbox Code Playgroud)