嗨,我对我的应用程序有疑问。我正在使用Android Studio 0.8.4
我收到此错误:
java.lang.RuntimeException:无法实例化应用程序 com.twittstr.TwittstrApplication:java.lang.ClassNotFoundException: 在路径上找不到类“com.twittstr.TwittstrApplication”: DexPathList [[zip文件 “/data/app/com.twittstr-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.twittstr-1, /系统/ lib中]] 在android.app.LoadedApk.makeApplication(LoadedApk.java:516) 在android.app.ActivityThread.handleBindApplication(ActivityThread.java:4317) 在android.app.ActivityThread.access $ 1500(ActivityThread.java:135) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1256) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:136) 在android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) 在java.lang.reflect.Method.invoke(Method.java:515) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) 引起:java.lang.ClassNotFoundException:路径上没有找到类“com.twittstr.TwittstrApplication”:DexPathList [[zip文件] “/data/app/com.twittstr-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.twittstr-1, /系统/ lib中]] 在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:497) at java.lang.ClassLoader.loadClass(ClassLoader.java:457) 在android.app.Instrumentation.newApplication(Instrumentation.java:975) 在android.app.LoadedApk.makeApplication(LoadedApk.java:511) 在android.app.ActivityThread.handleBindApplication(ActivityThread.java:4317) 在android.app.ActivityThread.access $ 1500(ActivityThread.java:135) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1256) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:136) 在android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) 在java.lang.reflect.Method.invoke(Method.java:515) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 在dalvik.system.NativeStart.main(本地方法)
我知道stackoverflow上已经有类似的问题了。但是,建议的答案是在eclipse中进行清理,或者在清单中有人使用了错误的包名。我的应用程序找不到其中一个问题。
我的宣言:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.twittstr">
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="20" />
<uses-permission android:name="android.permission.INTERNET"/>
<application android:allowBackup="true"
android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/Theme.Twittstr"
android:name="com.twittstr.TwittstrApplication"
>
<activity android:name="com.twittstr.login.LoginActivity"
android:theme="@style/Theme.Twittstr.Login"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
我已经包含了其他位置的其他项目(不在gradle项目路径中)。 我的settings.gradle:
包含':app'
project(':dagger')。projectDir = new File('〜/ android / dagger')
我的build.gradle文件:
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'crashlytics'
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.twittstr"
minSdkVersion 14
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'LICENSE'
exclude 'NOTICE'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// wearApp project(':wear')
compile 'com.google.android.gms:play-services-wearable:+'
// Annotation Processing
compile 'com.squareup.dagger:dagger:1.2.2'
apt 'com.squareup.dagger:dagger-compiler:1.2.2'
compile project (':dagger')
// ActionItem
compile 'com.tundem.actionitembadge:library:1.1.0@aar'
compile 'com.balysv:material-menu:1.0.0'
// compile 'com.github.japgolly.android:svg-android:2.0.6'
// Twitter
compile 'org.twitter4j:twitter4j-core:4.0.2'
}
可以正确地重新安置家属。
可能是Android Studio问题。更可能是我在清单中有一个非常愚蠢的错误,但我看不到它。有什么建议吗?
答案 0 :(得分:0)
第一:
在您的班级TwittstrApplication
中,添加以下内容:@EApplication
。
然后在你的清单中,改变:
android:name="com.twittstr.TwittstrApplication"
到
android:name="com.twittstr.TwittstrApplication_"
清洁&amp;建立。它对我有用。