마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

유니티 안드로이드 플러그인 연동 질문입니다.

0 추천
유니티랑 안드로이드 네이티브랑 연동은 가능하고 했습니다.

문제는 유니티에서 자바 클래스 호출시 인텐트로 화면을 전환할려고 합니다.

... 이것도 됬습니다.

진짜 문제는.. 넘겨진 액티비티 클래스안 온크레이트에 셋 컨텐트 뷰 함수를 넣고

실행하니 액티비티가 넘어가고 팅겨버립니다. 작동중지

 

................................셋 컨텐트 뷰 있고 없고 만 해서 오류가 나네요.

 

그래서 로그캣을 보니 unable to start activity componentinfo 라 듭니다;;

어쩔................

그 밑에줄에는 res.resoures$notfoundexception 이라 뜹니다;;

뭘 못찾는다는건지;;

정말 심플하게 클래스 하나 만들고 버튼 하나만 추가 했습니다.

아무 기능도 없는 오로지 테스트용...

 

팅겨버리네요;;
SofKaints (560 포인트) 님이 2014년 9월 4일 질문
오류 때문에 질문을 올렸으면 오류 로그 정도는 올려주세요...
로그 핵심은 저게 다에요..
쨋든 계속 해본결과.. 유니티를 제외하고 네이티브로만 액티비티를 넘겨보기로 했습니다.

public void javaTestFunc(Activity activity, String strFromUnity) {
        Log.d("sofkaints", strFromUnity);
//        UnityPlayer.UnitySendMessage("AndroidManager", "SetJavaLog",
//                strFromUnity + "HelloWorld");
        Intent mIntent = new Intent(MainActivity.this, FirstOne.class);
        //activity.startActivity(mIntent);
        activity.startActivity(mIntent);
        //activity.finish();
    }

여긴 첨 글적어보는데 댓글 화면이 너무 작네요;;
어디서부터 설명해야할지;;

일단 상속을 유니티플레이어액티비티를 받아야 유니티랑
통신이 가능합니다.
그런데 유니티 상속을 받으면 startactivity 메소드를 쓸수가 없어요.
그래서 이래저래 찾아본 결과 유니티에서 현재 액티비티를 매개변수로
받아오더군요.
activity.startactivity(인텐트 네임);

그런데 최초 문제는 액티비티가 안넘어가는 문제이니.
네이티브에서만 작업을 해보았습니다.

activity.startactivity(인텐트 네임); 이렇게 해서는 액티비티가 안넘어가더라구요.

아주 정상되로 상속을 액티비티로 받고 그냥 스타트 액티비티 메소드를 쓰면 당연 잘됩니다;;

다시 로그를 올리려 하니 로그가 안나오네요;;
로그입니다.
09-04 14:14:46.580: E/AndroidRuntime(8814): FATAL EXCEPTION: main
09-04 14:14:46.580: E/AndroidRuntime(8814): java.lang.Error: FATAL EXCEPTION [main]
09-04 14:14:46.580: E/AndroidRuntime(8814): Unity version     : 4.5.3f3
09-04 14:14:46.580: E/AndroidRuntime(8814): Device model      : samsung SHV-E120S
09-04 14:14:46.580: E/AndroidRuntime(8814): Device fingerprint: samsung/SHV-E120S/SHV-E120S:4.1.2/JZO54K/E120SKSJMK1:user/release-keys
09-04 14:14:46.580: E/AndroidRuntime(8814): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sofkaints.androidlink/com.sofkaints.androidlink.FirstOne}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030018
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.ActivityThread.access$700(ActivityThread.java:143)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.os.Looper.loop(Looper.java:137)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.ActivityThread.main(ActivityThread.java:4950)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at java.lang.reflect.Method.invokeNative(Native Method)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at java.lang.reflect.Method.invoke(Method.java:511)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:997)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at dalvik.system.NativeStart.main(Native Method)
09-04 14:14:46.580: E/AndroidRuntime(8814): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030018
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.content.res.Resources.getValue(Resources.java:1026)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:2131)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.content.res.Resources.getLayout(Resources.java:865)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:316)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.Activity.setContentView(Activity.java:1915)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at com.sofkaints.androidlink.FirstOne.onCreate(FirstOne.java:16)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.Activity.performCreate(Activity.java:5177)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
09-04 14:14:46.580: E/AndroidRuntime(8814):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
로그에 대한 판단을 직접 다 할거면 굳이 질문을 올릴 필요가 없죠...
어떻하라는거에요? 질문에 대한것좀 대답해주세요.

1개의 답변

0 추천
로그보니 여기에 뭔가가 있네요

FirstOne.onCreate(FirstOne.java:16)
쎄미 (162,410 포인트) 님이 2014년 9월 4일 답변
네 거기에 setcontentview 메소드가 있어요.
이 메소드를 적으니 팅겨버리네요;;
안적으면 스타트 액티비티로 넘어오긴 와요. 온크레이트 메소드까지;;
xml 파일에는 어떤 내용이 있나요?
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sofkaints.androidlink"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
          android:name="FirstOne">   
        </activity>
    </application>

</manifest>
이거말고 set content view에서 호출하는 xml이요
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


</LinearLayout>
...