Pull to refresh
4
0
Виктор @MercurieVV

User

Send message
мне кажется в настройках Hudaway можно изменить расстояние опережения.
Да я не скажу что я прям не осиливаю Градл, но шишку сегодня набил здоровенную. В мавене даже вначале такого не было, но там и версии зависимостей все всегда прописывают. Вроде можно их размазано ставить, но я ни разу такого не встречал и у самого мысли не возникало так написать.

Что насчет зависимостей. плагинов. По чесноку, я этим в мавене ни разу не пользовался т.к. небыло необходимости. Но, столкнувшись с проблемой я поискал и нашел maven.apache.org/plugins/maven-dependency-plugin/resolve-plugins-mojo.html
Для Градла же я искал и не нашел. Так же предполагал что простой gradle dependecies поможет, но запуская его в корневой проекта мне не вывело вообще ни одной зависимости, запуская в модуле выдало только обычные зависимости (не плагины).

Еще мне очень нравится связка Idea с мавен. Шустро работает, подсказки где надо. Ну, надеюсь, со временем и с Градлом все устаканится.
Ну я бы не сказал что половину не использую. 1/4. Но планирую.
1. Да теперь это понятно. Просто наверняка не я один такой. Вот и хочется либо таких же как я предупредить либо чтоб это как-то побезопасней было реализовано.
2. Спасибо. Я так понял что это команда обнавления всех зависимостей проекта. В данном случае она бы проблему не решила т.к. баг был как раз в последней версии зависимости.

Ну в общем да. Наука — не ставить плюсы. Но я доверился :)
1 и 2 пробовал. На это и потратил столько времени. Я еще пробовал менять 11ю и 12ю версию Градла, Пробовал стирать весь кэш зависимостей.
Вот тут этот баг описывается: code.google.com/p/android/issues/detail?id=72374 Видать он возникает в каких-то специфических случаях.
О «gradlew --stop» не знал, но я убивал в таск менеджере все java процессы и пару раз рестартил комп.
Я писал что я взял готовый конфиг. И да, не стоит доверять всему что написано, но вчера же он работал.
Ошибка была. Но я не сразу понял что дело действительно в Gradle т.к. собиралось все нормально. Не проходил именно запуск приложения на девайс.
UnsupportedMethodException
Unsupported method: AndroidArtifact.getOutputFile().
Я понимал что значит '4.+'. Дело в том, что увидев что такой конфиг выложен в публичный доступ, я и подумать не мог что с этим может быть что-то плохое. Раз человек выкладывал, а другие качали — он знал что делал.
Но как я в кратце описал проблема была не только в этом.
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        // gradle versions
        maven { url "https://github.com/ben-manes/gradle-versions-plugin/raw/mvnrepo" }
        // crashlytics
        maven { url 'http://download.crashlytics.com/maven' }
        maven { url 'https://www.testfairy.com/maven' }
    }

    dependencies {
        // android plugin
        classpath 'com.android.tools.build:gradle:0.11.+'
        // configuration for codegen dependencies (dagger-compiler)
        classpath 'com.neenbedankt.gradle.plugins:android-apt:+'
        // use Java 8 lambdas on android
        classpath 'me.tatarka:gradle-retrolambda:1.3.3'
        // gradle robolectric plugin
//        classpath 'org.robolectric:robolectric-gradle-plugin:0.11+'
        // downloading deps for CI
        classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.10.1'
        // versions plugin
        classpath 'com.github.ben-manes:gradle-versions-plugin:0.5-beta-5'
        // crashlytics
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'

        classpath 'com.testfairy.plugins.gradle:testfairy:1.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.11'
}
configurations {
    all*.exclude group: 'com.android.support', module: 'support-</code>v4'
}



apply plugin: 'android-sdk-manager'
apply plugin: 'android'
apply plugin: 'retrolambda'
apply plugin: 'crashlytics'
apply plugin: 'android-apt'
//apply plugin: 'robolectric'
apply plugin: 'testfairy'
apply plugin: 'versions'

android {
    final APPLICATION_ID = "mercurievv.driftingjury.androidapp"

    compileSdkVersion 19
    buildToolsVersion '19.1'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19

//        applicationId APPLICATION_ID
        versionCode 1
        versionName '0.1.0'

        testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
    }

    productFlavors {
        staging {
            buildConfigField "String", "API_URL", "\"https://example-staging.com\""
//            applicationId "${APPLICATION_ID}.staging"
        }

        production {
            buildConfigField "String", "API_URL", "\"https://example.com\""
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    final IS_TRAVIS = "true".equals(System.getenv("TRAVIS"))
    final PRE_DEX_ENABLED = "true".equals(System.getProperty("pre-dex", "true"))

    dexOptions {
        preDexLibraries = PRE_DEX_ENABLED && !IS_TRAVIS
    }

    packagingOptions {
        exclude 'LICENSE.txt'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/services/javax.annotation.processing.Processor'
    }

    lintOptions {
        enable 'IconExpectedSize', 'EasterEgg', 'SelectableText', 'StopShip', 'TypographyQuotes', 'UnusedIds'
        disable 'InvalidPackage'
        warningsAsErrors true
        lintConfig file("$projectDir/lint.xml")
        abortOnError false

    }

    sourceSets {
        main {
            androidTest.setRoot('src/test')
        }
    }
    testfairyConfig {
      apiKey "0_o"
    }

}

retrolambda {
    jdk System.getenv("JAVA8_HOME")
    oldJdk System.getenv("JAVA7_HOME")
    javaVersion JavaVersion.VERSION_1_7
}

repositories {
    // crashlytics
    maven { url 'http://download.crashlytics.com/maven' }
}

final DAGGER_VERSION = '1.2.1'
//final ESPERANDRO_VERSION = '2.0.0'

dependencies {
    androidTestCompile 'junit:junit:4.11'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
    compile 'org.roboguice:roboguice:2.0'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.j256.ormlite:ormlite-android:4.42'
    compile 'javax.persistence:persistence-api:1.0.2'

    retrolambdaConfig 'net.orfjackal.retrolambda:retrolambda:1.3.0'
    compile 'com.crashlytics.android:crashlytics:1.+'

    compile "com.mixpanel.android:mixpanel-android:4.2.1@aar"

    compile 'com.netflix.rxjava:rxjava-android:0.19.0' // FRP

    compile 'com.jakewharton:butterknife:5.1.0' // view injection
    compile 'com.jakewharton.timber:timber:2.4.0' // logging

    compile 'com.squareup.retrofit:retrofit:1.6.0'
    compile 'com.intellij:annotations:12.0' // @Nullable NotNull


//???    compile 'com.github.mttkay.memento:memento:0.2' // retaining objects in activity
    androidTestCompile 'org.mockito:mockito-core:1.9.5'
    androidTestCompile 'org.robolectric:robolectric:2.3'
    androidTestCompile 'com.squareup:fest-android:1.0.8'

/*

    androidTestCompile('com.jakewharton.espresso:espresso:1.1-r3') {
        // TODO workaround for http://b.android.com/65445
        exclude group:'com.google.guava', module:'guava'
    }
    androidTestCompile('com.jakewharton.espresso:espresso-support-v4:1.1-r3') {
        // TODO workaround for http://b.android.com/65445
        exclude group:'com.android.support', module:'support-v4'
        exclude group:'com.google.guava', module:'guava'
    }
*/
}
configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
    all*.exclude group: 'org.apache.maven', module: 'maven-ant-tasks'
    all*.exclude group: 'org.hamcrest', module: 'hamcrest-core'
}
Поправил, следуя вашему совету.
Да конфиг приводить особого смысла не имеет. Из 150ти строк конфига надо было поменять classpath 'com.jakewharton.sdkmanager:gradle-plugin:+' на classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.10.1'
Я думаю что умные дядьки сделали бы так что батарейка тратилась только на перерисовку экрана, на сопутствующую софтварную часть и на телефон в режиме ожидания звонка. Но не надо тратить заряд на основной дисплей. Если я на телефон не смотрю — он живет полтора-два дня. Если же у него включен экран — пол дня максимум.

Насчет разеров — удобно тем, кто часто ездит и читает в общ. транспорте. То есть выходя из дома можно взять только кошелек и телефон, а иначе надо будет еще ридер, да еще сумку для него.
Речь не идет об обычных слушателях. Речь о сотрудниках компании — профессиональных аудиофилах, различающих на слух кодеры (не говоря уж о битрейтах). И вот эти вот сотрудники, ведомые своей филией, хотят отстоять битрейт 320 перекодированный из 256.
Спасибо за работу, давно пользуюсь вашей IDE. Подарил маме лицезию. Будет теперь чем заняться старушке на пенсии.
Ваши последние фичи лично мне нужны не очень, зато сильно не хватает программирования через киннект. Или хотя бы жестами.
Но в общем я вижу плюс, если есть большое желание отделить бизнес логику от контроллеров. На мой взгляд это может пригодиться только если требуется несколько разных внешних интерфейсов, если не хочется каждый из них описывать. У меня такой задачи пока не встречалось.
Я уже мало помню о jax rs, поэтому буду говорить о спринге
1. Контроллеры находятся в spring контексте. Поэтому вызвать можно из любого места где он доступен.
2. Передать объект можно. Причем как json, так и автоматом замапить на какую нибудь сущность.
3. Вроде же можно вернуть статус ошибки вместе с сообщением, в которое можно всунуть код ошибки. Я на счет этого 100% не уверен, но могу поискать инфу.
Что то вроде такого

@RequestMapping("/reports")
@Controller
public class ReportsController {

    @RequestMapping(value = "execute", method = RequestMethod.GET)
    @PreAuthorize("hasRole('REPORT_BUTTON')")
    @ResponseBody
    public Report executeReport(@RequestParam("reportId") Long reportId){
         return reportsRepository.findOne(reportId);
    }
}

Information

Rating
Does not participate
Location
Латвия
Date of birth
Registered
Activity