2010-04-21 2 views
1

내 리소스에 정의 된 R.java 파일 및 스타일에 이상한 문제가 있습니다. 고해상도/값/strings.xml의에서스타일 및 자동 생성 된 R.java 파일의 Android 1.5/1.6 문제

:의 AndroidManifest.xml에서

<style parent="android:Theme.Dialog" name="PopupWindowStyle"> 
<item name="android:windowBackground">@drawable/bg1</item> 
<item name="android:textColor">@android:color/black</item> 
</style> 

:

<activity 
    android:name=".RegisterScreen" 
    android:icon="@drawable/ico" 
    android:label="@string/applicationName" 
    android:theme="@style/PopupWindowStyle" 
    android:configChanges="locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|fontScale"> 
</activity> 

자동 생성 세대 /.../ R에서

는 여기에 몇 가지 코드입니다. java :

public static final class style { 
    public static final int PopupWindowStyle=0x7f090000; 
} 

프로젝트에서 ome 변경, 이클립스 PopupWindowStyle에 대한 자동 생성 된 값이 0x7f080000에서 0x7f090000으로 변경되었습니다. 그 후, 안드로이드 1.5에 RegisterScreen 활동 PopupWindowStyle 스타일없이 표시 - 로그 캣에 표시 오류가 : - 그것은 정수 값을 가지고있어 전에 같은 PopupWindowStyle 작품이었다 안드로이드 1.6에

Skipping entry 0x7f090000 in package table 0 because it is not complex!

그러나 모든 것이 잘 작동이 변경되었습니다.

소스 코드를 이전 버전으로 되 돌리는 방법으로이 문제를 테스트했습니다. src 코드가 커밋 된 후에이 문제가 발생했음을 확인할 수 있습니다.이 코드는이 코드 부분과 완전히 관련이없는 두 개의 파일과 자동 생성 된 R.java 파일을 변경합니다.

어떤 아이디어가 그 원인 일 수 있습니까?

+0

mainfest 파일 즉, minSdk 및 targetSDk 태그에있는 내용은 무엇입니까? –

+0

@Fred : minSdkVersion = "3"- targetSdk 태그가 없습니다. – grzaks

답변

0

확인. 문제가 해결되었지만 안드로이드 1.5에서 왜 그런 식으로해야하는지 알지 못합니다.

는 는 이 다른 파일에 의해 발생 된 것으로 보인다

: 고해상도/값/colors.xml에만이 내용이 있었다 : 고해상도/값으로 다시 그 컬러 태그를 이동 한 후

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="threattypelabel">#4f83cc</color> 
    <color name="threattypebg">#eeeeee</color> 
</resources> 

을/갑자기을 strings.xml의 잘 작동합니다 (앞뒤로 몇 번 테스트되었습니다).

1

오늘도이 오류가 발생했습니다. 필자의 경우 두 개의 프로젝트가 있습니다. 하나는 응용 프로그램이고 다른 하나는 라이브러리입니다. 둘 다 문자열을 포함합니다. 라이브러리 프로젝트의 코드에서 생성 된 R 클래스 파일은 앱 프로젝트의 일부 정수와 동일한 정수 인덱스를가집니다.

나는 그것을 포함하도록 응용 프로그램 프로젝트의 default.properties을 변경했다 android.library.reference.1 = libraryprojectlocation

libraryprojectlocation 라이브러리 프로젝트의 상대적인 디스크 위치

.

1

동일한 문제가있어서 res/values ​​/ array.xml에 문자열 배열이 있습니다. 문자열 배열을 res/values ​​/ strings.xml로 옮기면 앱이 잘 돌아갔습니다. 안드로이드 개발자 사이트 http://developer.android.com/guide/topics/resources/providing-resources.html을보고 있지만 그들은 res/values에 둘 이상의 xml 파일을 포함 시켜도 상관 없으며 사실 제안하고 있습니다. 그래서 나는 실험을 시도했다. 문제가되는 xml 파일의 이름을 arrays.xml로 바꿨고, 마지막에 여분의 "s"를 적어 두었다. 나는 또한 내 avd 및 일식을 다시 시작했다. 그리고 gui를 사용하여 XML 파일을 작성하는 대신 입력했습니다.