우리는 4.6 코드 서명 도구로 4.7 Blackberry 응용 프로그램에 서명했습니다. 하지만 응용 프로그램을 다시 시작할 때 'KeyCodeNumber 예외'가 발생합니다.Blackberry 앱에 서명 한 후 KeyCodeNumber 예외가 발생하는 이유는 무엇입니까?
아무도 우리가이 예외를 얻는 데 필요한 단서가 있습니까?
감사합니다.
우리는 4.6 코드 서명 도구로 4.7 Blackberry 응용 프로그램에 서명했습니다. 하지만 응용 프로그램을 다시 시작할 때 'KeyCodeNumber 예외'가 발생합니다.Blackberry 앱에 서명 한 후 KeyCodeNumber 예외가 발생하는 이유는 무엇입니까?
아무도 우리가이 예외를 얻는 데 필요한 단서가 있습니까?
감사합니다.
KeyCodeNumber 예외에는 확인 프로세스와 함께 할일이 있습니다. 당신은 자바 아카이브를 구축하여 시작한 경우
When developing Java applications for the BlackBerry smartphone, you may encounter any of the following verification errors or errors similar to the following:
Verification Error 3141 Module 'MyMIDlet' has verification error (<###>) at offset <###>. Error starting MyMIDlet: Module 'MyMIDlet' has verification error (<####>) at offset <###>." These errors often occur when creating MIDlets. They are inherently hard to debug because the same error message can apply to a number of problems.
을 방지하기 위해 가능한 솔루션 또는 정확한 확인 오류의 목록은 다음과 같습니다 검증 오류를 방지하는 방법을 설명
블랙 베리 published an article (JAR) 파일을 생성 한 다음 RIM 응용 프로그램 컴파일러 (RAPC)을 사용하여 .cod 파일을 만든 경우일 때 에서 난독 처리를 해제하도록하십시오.JAR 파일을 작성하십시오. RAPC 컴파일러는 자체적으로 난독 화를 수행하며 코드가 이미 난독 화되면 문제가 발생할 수 있습니다.
는 다음 예에서와 같이 생성자 내에서 클래스를 호출하지 않는,이 문제를 해결하려면 :
Class1 class1;
String className = Class2.class.getName();
Class1 = new Class1(className);
는 내부 클래스에서 정적 인스턴스 변수에 대한 참조를 제거합니다. 예를 들어, 다음 코드 예제에서는 오류가 발생할 수 :
public class MyOuterClass {
static int var;
class MyInnerClass {
public void doSomething() {
var = 7;
}
}
}
같은 MyInnerClass을 끌어 논리를 외부 클래스에서 VAR에 대한 GET/set 메소드를 만들거나 수정할와 같이 이러한 참조를 제거 할 수있는 몇 가지 방법이 있습니다 MyOuterClass에서.
빌드 절차는 일반적으로 은 javac의 명령을 사용하여 자바 소스 파일 에서 컴파일 한 다음 실행 preverify.exe 파일 다음 RAPC. RAPC 이전 버전의 문제를 방지하기 위해 javac의에 다음 명령 줄을 인수를 추가
javac.exe -target 1.1
매우 긴 어떤 방법을 1.3 -source 수 원인 확인 오류. 이러한 방법을 도우미 방법으로 나누면 확률 오류를 줄일 수 있습니다.
아마로하지 않지만, (10 개 이상의 파라미터)와 매우 긴있어서 정의 및 매우 긴 상수의 정의 (긴 패키지 구조 및/또는 긴 이름) 또한 인증 에러가 발생할 수있다.
위대한 게시물이지만 모바일 개발자가 INSANE 인 이유입니다. – drubin