def precision(value, precision):
"""
param: value: takes a float
param: precision: int, number of decimal places
returns a float
"""
x = 10.0**precision
num = int(value * x)/ x
return num
precision(1.923328437452, 3)
1.923
blockquote> blockquote>
Для решения этой проблемы мне потребовалось добавить следующие строки в файл build.gradle для мобильного приложения:
...
android {
...
// Enabling multidex support.
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
...
}
зависимости {
...
compile 'com.android.support:multidex:1.0.0'
...
}
Для меня добавление этой строки (или комментирование, потому что там написано в 13-й строке) в gradle.properties
сработало:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Также я отключил Мгновенный запуск (Android Studio 2.1.2) .
attempt to set or access a value of type java.lang.Object using a local variable of type int
Похоже, что в некоторых местах ProGuard оптимизирует распределение переменных, но делает это неправильно.
Попробуйте отключить эту оптимизацию, добавив строку ниже в вашем proguard-rules.pro
:
-optimizations !code/allocation/variable
defaultConfig {
minSdkVersion 16
targetSdkVersion 25
multiDexEnabled true
}
Просто установите это в файле build.gradle вашего приложения
android {
compileSdkVersion 23
buildToolsVersion "24.0.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 23
...
// Enabling multidex support.
multiDexEnabled true
}
... }
dependencies { compile 'com.android.support:multidex:1.0.0' }
repositories {
mavenCentral() }
<application ...
android:largeHeap="true"
android:supportsRtl="true"
android:name="android.support.multidex.MultiDexApplication"> </application>