【发布时间】:2013-02-27 13:28:09
【问题描述】:
我对我的应用有要求。我有一个用于显示书籍的应用程序和一个用于阅读书籍的应用程序,基本上是 Viewer。我有两个问题:
- 是否可以在开始时同时安装两个 apk?
- 是否可以集成两个 apk ?
当我点击应用程序的第一个选项时,我得到了这个异常:
FATAL EXCEPTION: main
Unable to instantiate activity ComponentInfo{jp.co.atori.A12022411/jp.co.atori.A12022411A.FSDMainLauncherActivity}: java.lang.ClassNotFoundException: jp.co.atori.A12022411A.FSDMainLauncherActivity in loader dalvik.system.PathClassLoader[/data/app/jp.co.atori.A12022411-1.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: jp.co.atori.A12022411A.FSDMainLauncherActivity in loader dalvik.system.PathClassLoader[/data/app/jp.co.atori.A12022411-1.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
更改清单后它看起来像:
<activity
android:name="jp.co.atori.A12022411.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="aircel-bookshelfviewer" />
</intent-filter>
</activity>
<activity
android:name="jp.co.atori.A12022411A.FSDMainLauncherActivity"
android:label="@string/app_name"
android:taskAffinity="com.jp.co.atori.A12022411A.FSDMainLauncherActivity.viewer"
android:permission="com.smartebook.android.fsdreader.permission"
android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="FSDREADERAPPLICATION" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
</activity>
【问题讨论】:
-
将您的活动类别设为启动器:
-
如果评论冒犯了任何人,我很抱歉。我的解决方案已经在答案中,并且已经被赞成。但至于这个问题,它真的没有被研究过,我不妨说还不够。 SO 并不适用于所有琐碎的问题。我的意思是看起来 OP 对这两个应用程序都有代码,那么为什么不简单地合并它们。这真的是一个问题还是缺乏努力。
-
是的,可能是缺乏努力,也可能是缺乏时间。