2011. 7. 19. 16:19
메인 activity 를 변경해서 사용( http://limchaeng.tistory.com/23 ) 시 UnityPlayer 상속 받아서 사용 할 수 있다.
onPause() 시 OpenGL surface 변경 관련해서 notify 를 받기 위해 사용했다...
public class OverriderUnityPlayer extends UnityPlayer { public void onSurfaceCreated(GL10 arg0, EGLConfig arg1) { // TODO Auto-generated method stub super.onSurfaceCreated(arg0, arg1); } }
'Dev > Android' 카테고리의 다른 글
Unity3d Android Plugin Guide - R.java (1) | 2011.07.27 |
---|---|
Unity3d Android Plugin Guide - Resource Merge (5) | 2011.07.19 |
Unity3d Android Plugin Guide - Main Activity 변경하기. (0) | 2011.07.19 |
2011. 7. 19. 15:29
* jar 안의 resource 접근 안됨.
* jar 안에 res 폴더랑 /Assets/Plugins/Android/res/ 에 같은 resource 있으면 build 할때 에러남.
* /Assets/Plugins/Android/res/ 폴더의 하위폴더들이 android 표준에 맞지 않으면 build 할때 에러남.
1. 모든 resource 는 /Assets/Plugins/Android/res/ 아래에 있어야 함.
2. 외부 리소스 사용시 unity3d 설치폴더/Unity/Editor/Data/PlaybackEngines/androidplayer/res 에 있는 리소드들을 eclipse android project 상의 res 폴더에 포함시킨후 사용해야 함.(이건, eclipse 에서 build 된 resource id 들과 unity3d 에서 build 할때의 resource id 들을 맞춰주기 위함이다.. 이걸 하지 않으면 리소스 접근할때 리스소들이 꼬인다...--; )
3. 공통으로 쓰는 리소스들 (strings.xml, styles.xml, 등등) 은 수동으로 합쳐준다. (unity 설치폴더/Unity/Editor/Data/PlaybackEngines/androidplayer/res/values/ 에 있는 내용도 포함시켜야 한다.)
4. gen 에서 만들어진 파일들도 모두 /Assets/Plugins/Android/gen 폴더에 복사해야 함.(이건 꼭 필요한지 기억이 나지않는데...unity3d packaging 시 사용하는것 같았던 기억이.....필요하니까 추가 했을것이다.ㅋㅋ). <- 이건 없어도 된다는것을 확인했음..
5. res/ 폴더 규칙에 맞지 않는 리소스들은 /Assets/Plugins/Android/assets 폴더에 넣어 두면 사용 가능함.
6. build 시 package 에러 나면 중복된 resource 가 있는지..res 폴더 규칙이 맞는지..등등 검사해야함.
7. 만약 resouece들이 이상하게 나온다면 eclipse 상에서 만들어지 R.java 와 unit3d 에서 만들어지 R.java 를 비교해서 맞는지 검사후 틀리면 리소스들 잘 정리해야 함. --; (unity3d 에서 만들어진 R.java 는 /유니티프로젝트폴더/Temp/StagingArea/gen 폴더에서 확인 할 수 있음.
'Dev > Android' 카테고리의 다른 글
Unity3d Android Plugin Guide - R.java (1) | 2011.07.27 |
---|---|
Unity3d Android Plugin Guide - UnityPlayer 상속 받아 사용하기. (0) | 2011.07.19 |
Unity3d Android Plugin Guide - Main Activity 변경하기. (0) | 2011.07.19 |
2011. 7. 19. 14:44
자신이 만든 activity 를 main 으로 사용하기 위한 작업.
1. Unity\Editor\Data\PlaybackEngines\androidplayer\src\com\unity3d\player\UnityPlayerActivity.java 파일 의 내용을 자신이 사용할 메인 activity 에 복사한다. (unity 엔진 구동을 위한 내용이 들어있다.)
ex) CustomUnityPlayerActivity.java <- UnityPlayerActivity.java 내용 복사
: full name : com.simple.unity.CustomUnityPlayerActivity
2. 새로 만든 activity 를 jar 로 묶은 다음 /Assets/Plugins/Android/ 폴더에 복사하고
2. 새로 만든 activity 의 컴파일이 완료되면 컴파일된 *.class 파일을 jar 로 묶은 다음 /Assets/Plugins/Android/ 폴더에 복사하고.
ex) bin 폴더에 컴파일이 된다면 : bin/com/simple/unity/CustomUnityPlayerActivity.class
: /com/simple/unity/CustomUnityPlayerActivity.class 를 CustomUnityPlayerActivier.jar 로 묶는다.
3. AndroidManifest.xml 의 내용 변경.(이것은 PlayerSetting 에서 셋팅하고 나서 build 를 한번 하면 /프로젝트폴더/Temp/ 폴더 아래에 StagingArea 폴더가 생기는데 그 밑에 보면 PlayerSetting 에서 셋팅한 내용이 적용된 AndroidManifest.xml 을 가져올수 있다.
내용을 복사해서 /Assets/Plugins/Android/AndroidManifest.xml 을 새로 만든후 이 파일에서
<activity android:name="com.unity3d.player.UnityPlayerActivity"
<activity android:name="com.simple.unity.CustomUnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
위와 같이 수정하고 /Assets/Plugins/Android/ 폴더에 3번에서 새로 만든 AndroidManifest.xml 을 넣어 놓으면 자신이 만든 activity 를 메인으로 사용할 수 있다..
1. Unity\Editor\Data\PlaybackEngines\androidplayer\src\com\unity3d\player\UnityPlayerActivity.java 파일 의 내용을 자신이 사용할 메인 activity 에 복사한다. (unity 엔진 구동을 위한 내용이 들어있다.)
ex) CustomUnityPlayerActivity.java <- UnityPlayerActivity.java 내용 복사
: full name : com.simple.unity.CustomUnityPlayerActivity
2. 새로 만든 activity 를 jar 로 묶은 다음 /Assets/Plugins/Android/ 폴더에 복사하고
2. 새로 만든 activity 의 컴파일이 완료되면 컴파일된 *.class 파일을 jar 로 묶은 다음 /Assets/Plugins/Android/ 폴더에 복사하고.
ex) bin 폴더에 컴파일이 된다면 : bin/com/simple/unity/CustomUnityPlayerActivity.class
: /com/simple/unity/CustomUnityPlayerActivity.class 를 CustomUnityPlayerActivier.jar 로 묶는다.
3. AndroidManifest.xml 의 내용 변경.(이것은 PlayerSetting 에서 셋팅하고 나서 build 를 한번 하면 /프로젝트폴더/Temp/ 폴더 아래에 StagingArea 폴더가 생기는데 그 밑에 보면 PlayerSetting 에서 셋팅한 내용이 적용된 AndroidManifest.xml 을 가져올수 있다.
내용을 복사해서 /Assets/Plugins/Android/AndroidManifest.xml 을 새로 만든후 이 파일에서
<activity android:name="com.unity3d.player.UnityPlayerActivity"
<activity android:name="com.simple.unity.CustomUnityPlayerActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
위와 같이 수정하고 /Assets/Plugins/Android/ 폴더에 3번에서 새로 만든 AndroidManifest.xml 을 넣어 놓으면 자신이 만든 activity 를 메인으로 사용할 수 있다..
'Dev > Android' 카테고리의 다른 글
Unity3d Android Plugin Guide - R.java (1) | 2011.07.27 |
---|---|
Unity3d Android Plugin Guide - UnityPlayer 상속 받아 사용하기. (0) | 2011.07.19 |
Unity3d Android Plugin Guide - Resource Merge (5) | 2011.07.19 |