Android工作室1.4和矢量图像

时间:2015-10-01 13:38:23

标签: android vector android-studio

今天我最新的android studio到1.4版本。我在更新日志中看到,您可以使用矢量图像编译应用程序,也可以为api<我试过了。我将gradle版本从1.3.0更改为1.4.1并实现了矢量图像而不是栅格。在构建过程中,我收到此错误:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_51\bin\java.exe'' finished with non-zero exit value 2

抱歉我的英语不好。我希望你明白。提前谢谢。

3 个答案:

答案 0 :(得分:6)

步骤1.首先尝试清洁&重新启动您的项目,看看它是否适合您。在大多数情况下,它将解决您的问题。

步骤2.如果这一切都不适合您,则意味着您必须启用MultiDex模式。

针对Android 5.0及更高版本的Multidex支持

  

Android 5.0及更高版本本身使用名为ART的运行时   支持从应用程序APK文件加载多个dex文件。艺术   在扫描的应用程序安装时执行预编译   classes(.. N).dex文件并将它们编译成单个.oat文件   由Android设备执行。有关Android的更多信息   5.0运行时,请参阅ART简介。

这意味着您的应用可以在API级别21或更高级别上正常运行。

Android 5.0之前的Multidex支持

  

Android 5.0之前的平台版本使用Dalvik运行时   用于执行应用程序代码默认情况下,Dalvik将应用程序限制为单个   每个APK的classes.dex字节码文件。为了解决这个问题   限制,你可以使用multidex支持库,它成为   应用程序的主要DEX文件的一部分,然后管理对其的访问   附加的DEX文件及其包含的代码。

所以,首先要确保你已经导入了正确的依赖关系,这似乎可以通过以下方式实现。

dependencies {
  // Change as per the latest dependency
  compile 'com.android.support:multidex:1.0.1'
}

在清单中,将multidex支持库中的MultiDexApplication类添加到应用程序元素。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

替代方案,如果您的应用扩展了Application课程,则可以覆盖attachBaseContext()方法并致电MultiDex.install(this)以启用multidex

public void onCreate(Bundle arguments) {
    MultiDex.install(getTargetContext());
    super.onCreate(arguments);
    ...
}

最后,您需要通过添加multiDexEnabled true来更新build.gradle文件,如下所示:

defaultConfig {  
        applicationId '{Project Name}'  
        minSdkVersion 15  
        targetSdkVersion 23  
        versionCode 1  
        versionName "1.0"  
        multiDexEnabled true  
    }  

我希望它会帮助你。

答案 1 :(得分:2)

尝试为您的build.gradle文件启用multiDex属性:

defaultConfig {
    multiDexEnabled true
}

答案 2 :(得分:1)

当我使用较低的构建工具版本时,我遇到了同样的问题。尝试升级您的构建工具版本,例如,当我使用v23时,它适用于我。

buildToolsVersion "23.0.1"