Phi*_*ito 93 java eclipse android
10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main
10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Looper.loop(Looper.java:137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invokeNative(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invoke(Method.java:525)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.NativeStart.main(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
10-22 15:29:40.897: E/AndroidRuntime(2561): ... 11 more
Run Code Online (Sandbox Code Playgroud)
我不确定是什么导致它,因为它在清单中正确列出:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gvg.simid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature android:name="android.hardware.usb.host" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.gvg.simid.Login"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我还添加了"Android Private Libraries"来构建路径,并将其移至"Order and Export"的顶部,但它仍然给了我同样的错误.
编辑:我完全重建了项目,无法重现错误.不确定是什么导致它.
Bal*_*kar 74
我的项目也有同样的问题.这是因为我的项目和我在项目中添加的库项目之间的android支持库版本冲突.将相同版本的android支持库放在你包含的项目和库项目中,并清理构建 ......一切都会工作......
Chr*_*ris 32
以下方法对我有用.右键单击您的project
并选择properties
.将打开"属性"面板.从左边的菜单转到Java Build Path
- > Order and Export
.从下面的列表中取消选中旁边的框"Android Dependencies"
.最后clean your project
跑了.
希望它有效
Ima*_*ari 13
对于那些在Android Studio上遇到此问题的人来说,我在合并后遇到了同样的问题,并且出于某种原因,它甚至在操作之后仍然存在clean
,invalidate cash/restart
这让我发疯.
事实证明,它可以通过从命令行运行一次gradle build来修复.只需在项目目录中运行以下命令:
./gradlew assemble clean
./gradlew assemble
Run Code Online (Sandbox Code Playgroud)
我希望它可以节省一些我必须经历的浪费和挫折的时间.
sav*_*ion 10
如果你Library Project
在你的 Android 项目中添加了一个新的模块并且你Kotlin
在你的库中使用,不要忘记添加
apply plugin: 'kotlin-android'
Run Code Online (Sandbox Code Playgroud)
到模块的 Gradle 文件的顶部。当您创建新模块时,Android Studio 不会添加这一行,这可能会像我一样浪费您的时间。
编辑:过了一段时间,我再次遇到这个问题,这次我忘记添加我的模块作为项目的依赖项。:)
如果您在Android Studio 2.0及更高版本中使用新的即时运行功能时出现此错误,那么这是他们身上的某种错误.
要解决此问题,您必须在设备/模拟器上手动停止您的应用,如果它没有停止,那么从Android Studio选择Build→Rebuild Project.
然后单击" 运行"按钮或SHIFT + F10
对于任何拥有multidex启用的人来说,写这个
在build.gradle中
apply plugin: 'com.android.application'
android {
defaultConfig {
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.google.android.gms:play-services:+'
compile 'com.android.support:multidex:1.0.1'
}
Run Code Online (Sandbox Code Playgroud)
写一个类EnableMultiDex
如下
import android.content.Context;
import android.support.multidex.MultiDexApplication;
public class EnableMultiDex extends MultiDexApplication {
private static EnableMultiDex enableMultiDex;
public static Context context;
public EnableMultiDex(){
enableMultiDex=this;
}
public static EnableMultiDex getEnableMultiDexApp() {
return enableMultiDex;
}
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
}
Run Code Online (Sandbox Code Playgroud)
并在Application标记中AndroidManifest.xml
写入此className
<application
android:name="YourPakageName.EnableMultiDex"
android:hardwareAccelerated="true"
android:icon="@drawable/wowio_launch_logo"
android:label="@string/app_name"
android:largeHeap="true"
tools:node="replace">
Run Code Online (Sandbox Code Playgroud)
如果您在Android 4.4和更低版本上使用Multidex,则问题可能出在您的活动类位于第二个dex文件中,因此android系统找不到。
要将活动类保留在主dex文件中,请参见以下页面:
https://developer.android.com/studio/build/multidex.html#keep
要查找dex文件中的哪些类,请使用Android Studio。
只需将您的apk拖放到Android Studio中即可。您应该能够在apk资源管理器中查看您的dex文件。
然后选择dex文件以查看其中包含哪些类。
另一个替代方法是dexdump:
您可以使用dexdump命令来检查apk中包含的dex文件的内容,该命令可以在
android-sdk / build-tools / 27.0.3 / dexdump
对于Windows用户,请参阅我为简化此过程而制作的此工具
就我而言,是 proguard 缩小过程从我的生产 apk 中删除了一些重要的类。
解决方案是编辑 proguard-rules.pro 文件并添加以下内容:
-keep class com.someimportant3rdpartypackage.** { *; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
137516 次 |
最近记录: |