Chr*_*ght 2 android android-manifest
我有以下清单(摘要):
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
package="com.uniquename.appname">
<application
android:icon="@drawable/ic_launcher_icon"
android:label="@string/app_name"
android:name=".activity.MainApplication">
....
Run Code Online (Sandbox Code Playgroud)
在那里MainApplication.java生活com.uniquename.appname.activity
但是,当我启动它时,出现以下错误:
10-10 23:12:33.327:错误/ AndroidRuntime(7783):java.lang.RuntimeException:无法实例化应用程序com.uniquename.appname.MainApplication:java.lang.ClassNotFoundException:com.uniquename.appname.MainApplication在加载程序dalvik中.system.PathClassLoader [/system/framework/android.test.runner.jar:/data/app/com.uniquename.appname-1.apk]
这让我感到奇怪,因为我已经明确要求它查看活动子包。我已经看到了其他人使用这种相对技术的示例,但是对我来说不起作用。我的声明怎么了?谢谢!
Dang,通常情况下,您花了数小时试图找出答案,最后放弃并询问社区,然后2秒后发现答案。就我而言,答案是肯定的,可以在manifest.xml文件中使用相对路径。我的问题源于一个大型的重构工作,该工作很好,除了我忘记更新xml文件中的一些自定义软件包名称(勾选“更新非Java文件中的完全合格的软件包名称”会有所帮助!)。
无论如何,这些最新的软件包引用在运行时导致了失败。不幸的是,您收到的错误消息具有误导性,对我而言,这与我的清单声明完全无关。在我的xml文件中修复程序包名称(无需触摸清单)对我来说解决了这个问题。希望有一天能对别人有所帮助。