마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2662)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(994)
이미지
(969)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
.aar 라이브러리 내 클래스는 호출 되는데 Activity는 호출이 안됩니다 ..
0
추천
.aar파일 내에 Toast를 출력하는 클래스를 만들어서 호출해보면 잘 되는데
Activity를 호출하면 NoClassDefFoundError이 발생하며 어플이 죽습니다.
원래 Activity는 호출이 안되는건가요 ??
안드로이드
activity
aar
호출
음무
(
17,820
포인트)
님이
2016년 6월 22일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
0
추천
aar 내 androidmanifest.xml 파일 안에 해당 activity 의 정보가 포함되어 있거나 구현 중인 app 내 androidmanifest.xml 파일에 activity 정보가 있는지 확인 하셨는지요?
일단 aar 내 activity 가 있어도 호출 됩니다.
aucd29
(
218,390
포인트)
님이
2016년 6월 22일
답변
네 둘다 구현돼있습니다.
호출하는 프로젝트 매니페스트에
<activity android:name="com.package.name.TestActivity" />
.aar 프로젝트 매니페스트에
<activity android:name=".TestActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
호출하는 방식은
Intent intent = new Intent(this, com.package.name.TestActivity);
startActivity(intent);
이렇게 하고 있습니다..
http://stackoverflow.com/questions/6157616/using-an-android-library-project-activity-within-another-project/9822278#9822278
여기대로 한번 해보세요
혹시 aar 내 activity 의 onCreate 인자가 Bundle 이외에 PersistableBundle 도 있는지 봐보세요 PersistableBundle 이 있으면 호출이 안되더군요
그리고 aar 내 매니패스트에만 선언되어 있으면 알아서 머지 됩니다.
첫번째 답변은 무슨말인지 잘 모르겠어서 두번째걸로 해봤습니다
Intent intent2 = new Intent(android.content.Intent.ACTION_VIEW);
intent2.setComponent(new ComponentName("com.package.name",
"com.package.name.TestActivity"));
startActivity(intent2);
이렇게 하면 ActivityNotFoundException이 발생하네요 ㅠㅠ
aucd29 님 Intent로 호출하는 방식이 혹시 제가 올린것과 다른가요 ?
저는 그냥 간단하게 합니다.
Intent intent = new Intent(context, TestActivity.class);
startActivity(intent);
PersistableBundle 유/무는 확인해보셨나요?
네 그냥 프로젝트 생성하자마자 바로 .aar 로 만들어 테스트중이라 말씀하신것은 사용하지 않았습니다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
위와 같은 상태입니다
안될 이유가 없는데 말이죠 -_ -;
새로 만들어서 다시해봐야겠네요 ..
Please
log in
or
register
to add a comment.
...