我有一个应用程序,我使用了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 = ">
将会重复,如果我放置它将会产生错误。
答案 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);
}
}