Musicアプリの競合について

180 views
Skip to first unread message

shin

unread,
Mar 17, 2011, 5:53:13 AM3/17/11
to 日本Androidの会
いつも勉強させて頂いてます。shin と申します。


現在、Androidアプリの勉強中なんですが、Musicプレーヤアプリを作りたいと思っています。

Androidのソースをgit(repoにて)から取得し、サンプルアプリのMusicをpackage名等を変更して、どうにか起動するところまで
は来たんですが、起動時に「アプリケーションを選択」画面が表示され、私が作ったアプリを選択しても、

「XXXが予期せず停止しました。やり直してください。」

と表示され、起動できません。

どうやら、標準で入っている「Music」アプリと競合しているようです。

package名、javaのファイル名を、リファクタリング→名前変更で修正し、AndroidManifest.xmlを見直しても、改善されませ
ん。


SDK:Android 2.1-update1(2.1_r2)
Eclipse:3.5
WinXP SP3


Androidのソースをmakeし、参照ライブラリに、「classes.jar」を追加しました。
/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/
classes.jar


どなたか同様の現象に見舞われた方いませんでしょうか?

説明が分かりづらいかもしれませんが、お力をお貸し下さい。


u1aryz

unread,
Mar 17, 2011, 6:32:53 AM3/17/11
to 日本Androidの会
はじめましてu1aryzと申します。

xmlからcom.android.music内のクラスを呼んでいるところがありますが、
そちらは変更済みでしょうか?

shin

unread,
Mar 17, 2011, 6:37:57 AM3/17/11
to 日本Androidの会


On Mar 17, 7:32 pm, u1aryz <u1ary...@gmail.com> wrote:
> はじめましてu1aryzと申します。
>
> xmlからcom.android.music内のクラスを呼んでいるところがありますが、
> そちらは変更済みでしょうか?
>

u1aryzさん、お返事ありがとうございます!

xmlとは、AndroidManifest.xmlでしょうか?

AndroidManifest.xml、及びres内のlayout.xml等、com.android.musicと書かれているものは、全て変更
しました!

u1aryz

unread,
Mar 17, 2011, 7:35:05 AM3/17/11
to 日本Androidの会
「XXXが予期せず停止しました。やり直してください。」 のダイアログが表示されたときの
LogCatのログはありますでしょうか?

shin

unread,
Mar 17, 2011, 7:57:28 AM3/17/11
to 日本Androidの会
u1aryzさん、ありがとうございます!



以下、LogCat

03-17 11:48:29.961: ERROR/MusicUtils(609): Trying to unbind for
unknown Context
03-17 11:48:35.121: DEBUG/dalvikvm(257): GC freed 552 objects / 46976
bytes in 114ms
03-17 11:48:40.201: DEBUG/dalvikvm(114): GC freed 1907 objects /
111120 bytes in 206ms
03-17 11:51:10.070: INFO/ActivityManager(67): Starting activity:
Intent { act=android.intent.action.PICK dat=
typ=vnd.android.cursor.dir/artistalbum flg=0x7800000
cmp=jp.xxxxx.music.test1/.OuiArtistAlbumBrowserActivity (has extras) }
03-17 11:51:13.190: INFO/ActivityManager(67): Displayed activity
jp.xxxxx.music.test1/.OuiArtistAlbumBrowserActivity: 2984 ms (total
2984 ms)
03-17 11:51:18.250: INFO/ActivityManager(67): Starting activity:
Intent { act=android.intent.action.PICK dat=
typ=vnd.android.cursor.dir/album flg=0x4000000 cmp=android/
com.android.internal.app.ResolverActivity (has extras) }
03-17 11:51:18.340: DEBUG/(609): unable to unlink '/data/data/
jp.xxxxx.music.test1/shared_prefs/jp.xxxxx.music.test1.xml.bak': No
such file or directory (errno=2)
03-17 11:51:19.089: INFO/ActivityManager(67): Displayed activity
android/com.android.internal.app.ResolverActivity: 667 ms (total 667
ms)
03-17 11:51:19.179: DEBUG/(609): unable to unlink '/data/data/
jp.xxxxx.music.test1/shared_prefs/Music.xml.bak': No such file or
directory (errno=2)
03-17 11:51:20.210: INFO/ActivityManager(67): Starting activity:
Intent { act=android.intent.action.PICK dat=
typ=vnd.android.cursor.dir/album flg=0x7800000
cmp=jp.xxxxx.music.test1/.OuiAlbumBrowserActivity (has extras) }
03-17 11:51:20.571: DEBUG/AndroidRuntime(609): Shutting down VM
03-17 11:51:20.571: WARN/dalvikvm(609): threadid=3: thread exiting
with uncaught exception (group=0x4001b188)
03-17 11:51:20.581: ERROR/AndroidRuntime(609): Uncaught handler:
thread main exiting due to uncaught exception
03-17 11:51:20.719: DEBUG/dalvikvm(609): GC freed 3099 objects /
276360 bytes in 98ms
03-17 11:51:20.719: ERROR/AndroidRuntime(609):
java.lang.RuntimeException: Unable to start activity
ComponentInfo{jp.xxxxx.music.test1/
jp.xxxxx.music.test1.OuiAlbumBrowserActivity}:
android.view.InflateException: Binary XML file line #27: Error
inflating class jp.xxxxx.music.test1.TouchInterceptor
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
2496)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:
2512)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.ActivityThread.access$2200(ActivityThread.java:119)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.os.Handler.dispatchMessage(Handler.java:99)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.os.Looper.loop(Looper.java:123)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.ActivityThread.main(ActivityThread.java:4363)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
java.lang.reflect.Method.invokeNative(Native Method)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
java.lang.reflect.Method.invoke(Method.java:521)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
dalvik.system.NativeStart.main(Native Method)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): Caused by:
android.view.InflateException: Binary XML file line #27: Error
inflating class jp.xxxxx.music.test1.TouchInterceptor
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.view.LayoutInflater.inflate(LayoutInflater.java:407)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.view.LayoutInflater.inflate(LayoutInflater.java:320)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.view.LayoutInflater.inflate(LayoutInflater.java:276)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:
198)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.Activity.setContentView(Activity.java:1622)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
jp.xxxxx.music.test1.OuiAlbumBrowserActivity.onCreate(OuiAlbumBrowserActivity.java:
109)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:
1047)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
2459)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): ... 11 more
03-17 11:51:20.719: ERROR/AndroidRuntime(609): Caused by:
java.lang.ClassNotFoundException:
jp.xxxxx.music.test1.TouchInterceptor in loader
dalvik.system.PathClassLoader@44c16978
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
java.lang.ClassLoader.loadClass(ClassLoader.java:573)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
java.lang.ClassLoader.loadClass(ClassLoader.java:532)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.view.LayoutInflater.createView(LayoutInflater.java:466)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): at
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
03-17 11:51:20.719: ERROR/AndroidRuntime(609): ... 20 more
03-17 11:51:20.790: INFO/Process(67): Sending signal. PID: 609 SIG: 3
03-17 11:51:20.790: INFO/dalvikvm(609): threadid=7: reacting to signal
3
03-17 11:51:20.821: INFO/dalvikvm(609): Wrote stack trace to '/data/
anr/traces.txt'
03-17 11:51:30.239: WARN/ActivityManager(67): Launch timeout has
expired, giving up wake lock!
03-17 11:51:30.390: WARN/ActivityManager(67): Activity idle timeout
for HistoryRecord{44d8d4e0
jp.xxxxx.music.test1/.OuiAlbumBrowserActivity}
03-17 11:51:34.739: DEBUG/Email(208): *** synchronizeMailboxGeneric
***
03-17 11:51:39.641: DEBUG/dalvikvm(179): GC freed 2958 objects /
182504 bytes in 139ms
03-17 11:51:40.519: WARN/ActivityManager(67): Timeout executing
service: ServiceRecord{44dc1ef8
jp.xxxxx.music.test1/.OuiMediaPlaybackService}
03-17 11:51:44.670: DEBUG/dalvikvm(208): GC freed 4331 objects /
216120 bytes in 133ms

u1aryz

unread,
Mar 17, 2011, 8:15:58 AM3/17/11
to 日本Androidの会
「jp.xxxxx.music.test1.TouchInterceptor」
がないと言っているように見えますが、存在していますか?

shin

unread,
Mar 17, 2011, 8:26:10 AM3/17/11
to 日本Androidの会
u1aryzさん、ありがとうございます!

javaのファイル名、クラス名を変更した、「OuiTouchInterceptor」は存在しています。

jp.xxxxx.music.test1.TouchInterceptor

この辺りの処理で、標準Musicアプリのクラスを呼びに行ってしまうんでしょうか?
う~ん。。。

u1aryz

unread,
Mar 17, 2011, 8:33:21 AM3/17/11
to 日本Androidの会
media_picker_activity.xmlというファイルの中で
「jp.xxxxx.music.test1.TouchInterceptor」を呼んでいるかと思いますので
「OuiTouchInterceptor」に変更して試してみてください。
ちなみに「media_picker_activity.xml」は2つ存在すると思います。

shin

unread,
Mar 17, 2011, 8:53:01 AM3/17/11
to 日本Androidの会
u1aryzさん、遅くまでお付き合いいただき、ありがとうございます!!

ただ今、xmlファイルのアクティビティ名を、全て見直しています。

下手に、クラス名を変更しない方がよかったかもしれないですね。

shin

unread,
Mar 17, 2011, 8:59:47 AM3/17/11
to 日本Androidの会
u1aryzさん

> 「XXXが予期せず停止しました。やり直してください。」

強制終了は、なくなりました!!!
ありがとうございます!!

ですが、アプリ内のタブやボタンなどをタップすると、「アプリケーションを選択」画面が表示されてしまいます。

いろいろ教えて頂き、大変恐縮ですが、お知恵をお貸し下さい。

u1aryz

unread,
Mar 17, 2011, 9:03:43 AM3/17/11
to 日本Androidの会
いえいえ。会社で仕事しながら見てますのでw
ちなみにアプリを起動したときにアプリケーション選択画面が出るのは
アプリケーション側でmimeType?を設定して起動させているためです。

AndroidManifest.xmlのandroid:mimeTypeの部分やMusicUtils#activateTab内を
確認してみるとわかると思いますので勉強してみてください。

shin

unread,
Mar 17, 2011, 9:08:07 AM3/17/11
to 日本Androidの会
u1aryzさん

了解致しました!

ご指摘の部分を、調査してみます。
いろいろご教示頂き、ありがとうございます!

shin

unread,
Mar 18, 2011, 3:01:37 AM3/18/11
to 日本Androidの会
u1aryzさん

アプリケーション選択画面の件、
一応、解決しましたので、他の方の為にも解決方法を報告します。

u1aryzさん、大変お世話になりました!!


AndroidManifest.xml内の、intent-filterを修正しました。

以下修正した部分です。

<category android:name="android.intent.category.DEFAULT" />
           ↓
<category android:name="android.intent.category.TAB"/>

DEFAULT → TABに変更しました。

MusicUtils#activateTabで、呼ばれるActivityの intent-filter→category を修正。
(※7ヶ所程修正しました。)

以下サンプル

<activity android:name="MusicBrowserActivity"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<!--20110317 comment out <category
android:name="android.intent.category.DEFAULT" /> -->
<category android:name="android.intent.category.TAB"/>
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Reply all
Reply to author
Forward
0 new messages