Multidex和Singleton类使用android:name在Manifest Application Tag中

时间:2016-06-21 14:09:41

标签: android singleton android-manifest dalvik android-multidex

我有一个应用程序,我使用了class DPAlgorithm(): def distance(self, a, b): return sqrt((a[0] - b[0]) ** 2 + (a[1] - b[1]) ** 2) def point_line_distance(self, point, start, end): if (start == end): return self.distance(point, start) else: n = abs( (end[0] - start[0]) * (start[1] - point[1]) - (start[0] - point[0]) * (end[1] - start[1]) ) d = sqrt( (end[0] - start[0]) ** 2 + (end[1] - start[1]) ** 2 ) return n / d def rdp(self, points, epsilon): """ Reduces a series of points to a simplified version that loses detail, but maintains the general shape of the series. """ dmax = 0.0 index = 0 i=1 for i in range(1, len(points) - 1): d = self.point_line_distance(points[i], points[0], points[-1]) if d > dmax : index = i dmax = d if dmax >= epsilon : results = self.rdp(points[:index+1], epsilon)[:-1] + self.rdp(points[index:], epsilon) else: results = [points[0], points[-1]] return results 。我刚收到64k错误。我通过编译依赖项和gradle - Singleton

来解决它
multiDexEnabled true

然而它在同一个链接中显示here,应该包含在<application android:allowBackup="true" android:allowClearUserData="true" android:fullBackupContent="true" android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:supportsRtl="true" android:theme="@style/AppTheme" android:name="app.project.SingletonController" > <!--android:name="android.support.multidex.MultiDexApplication"--> - &gt;中Manifest 我在上面评论的那个。

如何摆脱这一个?

<application android:name = ">将会重复,如果我放置它将会产生错误。

2 个答案:

答案 0 :(得分:1)

您已经为自己的应用定义了自定义应用类SingletonController

MultiDexApplication是一个简单的实用程序类,您可以将其用作自己的SingletonController的超类。如果由于某种原因无法实现,则必须自己实现该功能

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

答案 1 :(得分:0)

  

自2014年12月3日起,发布了构建工具1.0.0-rc1。现在,您需要做的就是修改build.gradle

android {
compileSdkVersion 22
buildToolsVersion "23.0.0"

     defaultConfig {
         minSdkVersion 14 //lower than 14 doesn't support multidex
         targetSdkVersion 22

         // Enabling multidex support.
         multiDexEnabled true
     }

}

依赖{     编译&#39; com.android.support:multidex:1.0.1&#39; }

  

如果您正在运行单元测试,则需要在Application类中包含它:

public class YouApplication extends Application {

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

}