2017-03-22 19 views
1

GitHubからこのコードをダウンロードして、私が作業しているプロジェクトで動作するようにカスタマイズできるかどうか確認してください。私は私の最後の問題であることを願っていますが、私は完全にこのエラーに固執しています。私はアプリケーションをビルドして実行することができますが、起動時にクラッシュします。Androidランタイム例外:DexPathList

私はここで多くの似たような疑問を抱いています。私は解決策に基づいて変更を加えましたが、私にとってはうまくいかないようです。私はこれで初心者です、そして、どんな助けも大いに感謝されるでしょう。どうぞ...誰か。 :)

私はAndroidスタジオを使用しています。

ここに私のbuild.gradleファイルがあります。私はMultiDexを有効にし、レガシーライブラリのサポートを追加しました。これらは、他のソリューションの両方の提案でした。

import java.util.regex.Pattern 

//apply plugin: 'android' 
apply plugin: 'com.android.application' 

buildscript { 
    repositories { 
     //mavenCentral() 
     jcenter() 
    } 

    dependencies { 
     classpath 'com.android.tools.build:gradle:2.2.3' 
    } 
} 

ext.multiarch=false 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
    for (subproject in getProjectList()) { 
     compile project(subproject) 
    } 

    compile 'com.android.support:multidex:1.0.1' 
} 

android { 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     useLibrary 'org.apache.http.legacy' 
    } 

    defaultConfig { 
     versionCode Integer.parseInt("" + getVersionCodeFromManifest() + "0") 

     //Enabling Multidex Support 
     multiDexEnabled true 

     compileSdkVersion 23 

     buildToolsVersion "23.0.1" 
    } 



    if (multiarch || System.env.BUILD_MULTIPLE_APKS) { 
     productFlavors { 
      armv7 { 
       versionCode defaultConfig.versionCode + 2 
      ndk { 
        abiFilters "armeabi-v7a", "" 
       } 
      } 
      x86 { 
       versionCode defaultConfig.versionCode + 4 
       ndk { 
        abiFilters "x86", "" 
       } 
      } 
      all { 
       ndk { 
        abiFilters "all", "" 
       } 
      } 
     } 
    } 

    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 

} 

task wrapper(type: Wrapper) { 
    gradleVersion = '1.12' 
} 

def getVersionCodeFromManifest() { 
    def manifestFile = file(android.sourceSets.main.manifest.srcFile) 
    def pattern = Pattern.compile("versionCode=\"(\\d+)\"") 
    def matcher = pattern.matcher(manifestFile.getText()) 
    matcher.find() 
    return Integer.parseInt(matcher.group(1)) 
} 

def getProjectList() { 
    def manifestFile = file("project.properties") 
    def pattern = Pattern.compile("android.library.reference.(\\d+)\\s*=\\s*(.*)") 
    def matcher = pattern.matcher(manifestFile.getText()) 
    def projects = [] 
    while (matcher.find()) { 
     projects.add(":" + matcher.group(2).replace("/",":")) 
    } 
    return projects 
} 

ここに私のAndroidのマニフェストファイルです -

<?xml version='1.0' encoding='utf-8'?> 

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.ford.fordcomplince" 

    android:hardwareAccelerated="true" 
    android:versionCode="1" 
    android:versionName="0.1.0"> 

    <!-- 
    xmlns:android="http://schemas.android.com/tools" 
    xmlns:tools="http://schemas.android.com/apk/res-auto"> --> 

    <supports-screens 
     android:anyDensity="true" 
     android:largeScreens="true" 
     android:normalScreens="true" 
     android:resizeable="true" 
     android:smallScreens="true" 
     android:xlargeScreens="true" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 


    <application 
     android:name="android.support.multidex.MultiDexApplication" 
     android:hardwareAccelerated="true" 
     android:icon="@drawable/iicon" 
     android:label="@string/app_name"> 

     <activity 
      android:name=".FordCompliance" 
     android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 
      android:label="@string/activity_name" 
      android:launchMode="singleTop" 
      android:theme="@android:style/Theme.Black.NoTitleBar" 
      android:windowSoftInputMode="adjustResize"> 
     <intent-filter android:label="@string/launcher_name"> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".EnableMultiDex"> 

     </activity> 

    </application> 


    <uses-sdk 
     android:minSdkVersion="21" 
     android:targetSdkVersion="23" /> 

</manifest> 

私はここに私のエラー出力がありますMultiDexApplication

package com.ford.therightway; 

/** 
* Created by SK on 2/20/2017. 
*/ 

import android.support.multidex.MultiDexApplication; 

public class EnableMultiDex extends MultiDexApplication{ 

} 

を拡張MultiDex.javaファイルを作成 -

$ adb shell am start -n "com.ford.fordcomplince/com.ford.fordcomplince.FordCompliance" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Connected to process 3449 on device emulator-5554 W/System: ClassLoader referenced unknown path: /data/app/com.ford.fordcomplince-1/lib/x86 I/InstantRun: Instant Run Runtime started. Android package is com.ford.fordcomplince, real application class is android.support.multidex.MultiDexApplication. W/System: ClassLoader referenced unknown path: /data/app/com.ford.fordcomplince-1/lib/x86 I/MultiDex: VM with version 2.1.0 has multidex support I/MultiDex: install I/MultiDex: VM has multidex support, MultiDex support library is disabled. D/AndroidRuntime: Shutting down VM E/AndroidRuntime: FATAL EXCEPTION: main Process: com.ford.fordcomplince, PID: 3449 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ford.fordcomplince/com.ford.fordcomplince.FordCompliance}: java.lang.ClassNotFoundException: Didn't find class "com.ford.fordcomplince.FordCompliance" on path: DexPathList[[zip file "/data/app/com.ford.fordcomplince-1/base.apk"],nativeLibraryDirectories=[/data/app/com.ford.fordcomplince-1/lib/x86, /vendor/lib, /system/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ford.fordcomplince.FordCompliance" on path: DexPathList[[zip file "/data/app/com.ford.fordcomplince-1/base.apk"],nativeLibraryDirectories=[/data/app/com.ford.fordcomplince-1/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.Instrumentation.newActivity(Instrumentation.java:1067) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  Suppressed: java.lang.ClassNotFoundException: Didn't find class "com.ford.fordcomplince.FordCompliance" on path: DexPathList[[dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.ford.fordcomplince/files/instant-run/dex/slice-com.android.support-multidex-1.0.1_363eddd5c2a30ea4be2abc16117d383bb67b8a0f-classes.dex"],nativeLibraryDirectories=[/data/app/com.ford.fordcomplince-1/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader.findClass(IncrementalClassLoader.java:90) at com.android.tools.fd.runtime.IncrementalClassLoader.findClass(IncrementalClassLoader.java:62) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 12 more Suppressed: java.lang.ClassNotFoundException: com.ford.fordcomplince.FordCompliance at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 13 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available I/Process: Sending signal. PID: 3449 SIG: 9 Application terminated.

答えて

0

あなたはできます安定したアンドロイドスタジオのインスタント実行機能は、エラーが表示されるかどうかを確認します。インスタンスの実行で奇妙な問題が発生する可能性があります

関連する問題