@kotlin_lang

Страница 386 из 982
Alexander
24.10.2017
21:10:34
Получаю ошибку при сборке проекта Error:Execution failed for task ‘:app:kaptDebugKotlin'. > Internal compiler error. See log for more details

Anton
24.10.2017
21:10:48
дагер мб

Alexander
24.10.2017
21:10:49
В гугле ничего найти не могу

Anton
24.10.2017
21:10:52
короче читай логи

Google
Alexander
24.10.2017
21:10:56
дагер мб
да, он

Anton
24.10.2017
21:10:56
градловские

запусти таску с --debug или --info

Alexander
24.10.2017
21:11:17
спс

гляну

Anton
24.10.2017
21:11:31
обычно в градл консоли все описано

Alexander
24.10.2017
21:13:56
нашел вот это

You can not use @InjectPresenter in classes that are not View, which is typified target Presenter

Anton
24.10.2017
21:14:10
ну что то с кодогенерацией в общем

все туда летит

kapt

Alex
24.10.2017
21:14:52
вы забыли скорее всего унаследовать Ваш фрагмент/активити от View

Google
Alex
24.10.2017
21:15:03
без этого не сгенерируется

Alexander
24.10.2017
21:15:15
да, это фейспалм вообще, пора спать видимо

минут 30 гуглил

всем спасибо за помощь!

whalemare
25.10.2017
03:13:41
снова кек словил. Почему то не хочет видеть мой аргумент в функции



Но при этом сама переменная корректно определяется как булеан))



Vladimir
25.10.2017
03:17:54
А с каких пор справа от is может стоять объект?

whalemare
25.10.2017
03:22:33
чеерт, вот дурачек. спасибо

Павел
25.10.2017
05:43:24
Python experience detected

Santa
25.10.2017
05:51:35
whalemare
25.10.2017
08:09:19
ага, там и по жёстче можно наговнокодить

Va
25.10.2017
08:35:14
Maxim
25.10.2017
09:12:30
Всем привет. А анко плагин у всех так плохо работает? :) Показывает превью только после сборки проекта. Или это так и должно быть?

Артем
25.10.2017
09:37:17
у меня и после сборки не показывает ?

Sergei
25.10.2017
10:11:32


Доброго дня. Господа, проконсультируйте по Дагеру, пожалуйста: есть AppComponent + Module написанные на котлине, есть Application, в котором генериую объект дагера public class MyApplication extends Application { private AppComponent appComponent; public AppComponent getAppComponent() { if (appComponent == null) { appComponent = DaggerAppComponent.builder().build(); } return appComponent; } } все работает, далее, хочу переписать этот же классна котлин, получаю class MyApp : Application() { companion object { @JvmStatic lateinit var appComponent: AppComponent } override fun onCreate() { super.onCreate() appComponent = DaggerAppComponent.builder().build() } } + apply plugin: 'kotlin-kapt' но при компайле получаю ошибку

Anton
25.10.2017
10:12:10
лог читайте

написано же

Google
Alexander
25.10.2017
10:18:31
https://stackoverflow.com/a/45016580/2557258
Не, в моём случае все было смешно, я с недосыпу забыл Activity заимплементить от View, на что мне в логах и укащали

Maxim
25.10.2017
10:19:14
Очень много проблем решаются чтением стектрейса

Alexander
25.10.2017
10:19:55
И документации)

Sergei
25.10.2017
10:19:56
спасибо за ответы, продвинулся, уже ловлю другую ошибку))

Alexander
25.10.2017
10:20:12
Quantum Harmonizer
25.10.2017
14:34:36
Может тут смогут помочь https://t.me/dagger_2
Мне сначала показалось, что там костыль на картинке.)

Alexey
25.10.2017
14:42:10
В новой версии котлина kapt пофиксили ?

Nikita
25.10.2017
17:01:34
Ребят, подъехал вопрос по корутинам - а почему в CommonPool количество тредов рассчитывается как Runtime.getRuntime.availableProcessors()-1? Почему единицу не прибавляют, чтобы как раз и получить оптимальное количество тредов для выполнения задач в фоне.

? animufag ?
25.10.2017
17:04:38
ну мб то откуда ты его запускаешь как бы не засыпает на время выполнения задач

ну вообще это вездесущий -1. например зачем он в make нужен - не понимаю

Nikita
25.10.2017
17:13:17
Может потому что один поток ещё тот в котором мейн работает?
Тогда логично было бы написать просто Runtime.getRuntime.availableProcessors(), а не отнимать единицу (сводя количество доступных потоков к нулю, ведь если процессор одноядерный, то в таком случае в фоне вообще ничего запустить не получится). И тогда у нас один трэд для мэйна останется, а один будет для фона.

Руслан
25.10.2017
17:39:05
Да, в Java 8 вот сюда смотреть: ForkJoinPool.java:3436

Boris
25.10.2017
17:39:51
Да, в Java 8 вот сюда смотреть: ForkJoinPool.java:3436
точно из этой строки копипаста ?

Google
Nikita
25.10.2017
18:06:13
А ForkJoinPool с какого api на android нормально функционирует? Есть у меня тут кусок кода https://pastebin.com/khFXUzz6 , в котором функция log() таки вызывается, только если я в корутину async передаю, например, newFixedThreadPoolContext с одним потоком.

Dmitry
25.10.2017
18:21:10
@relizarov Дают ли корутины какой либо happens-before, что после launch() или async().await() я увижу результаты того, что в этой корутине было выполнено в другом треде?

Nikita
25.10.2017
18:24:52
Я просто сейчас поэкспериментировал: у меня в проекте стоит minsdk 21, но при этом - если код запускаю на эмуляторе в c api 21, log() не вызывается, если с api 25 - то всё ок.

Dmitry
25.10.2017
18:31:51
Экзекутор то не обещает, что после его завершения, изменения будут видны, тред ведь он не убивает сразу...

Igor
25.10.2017
19:17:40
Я просто сейчас поэкспериментировал: у меня в проекте стоит minsdk 21, но при этом - если код запускаю на эмуляторе в c api 21, log() не вызывается, если с api 25 - то всё ок.
А это точно весь код? Я скопировал себе сорцы CommonPool и подправил для эмуляции android<21 с 1 процом - log все равно вызвался

Quantum Harmonizer
25.10.2017
19:45:18
Dmitry
25.10.2017
19:47:21
В рабочее время Роман отвечает, по крайней мере в слаке. Я думаю завтра увидит и напишет.

Quantum Harmonizer
25.10.2017
19:47:21
или пойти в kotlinlang.slack.com
но там тоже не стоит @-упоминать разработчиков

Kirill
25.10.2017
19:48:00
да, но там можно пойти в канал про корутины и спросить. без @ вероятность получить ответ там, как мне кажется, выше

Alexey
25.10.2017
20:33:11
ребят а для корутин нужны какие-то особые правила прогарда?

Kirill
25.10.2017
20:33:47
ребят а для корутин нужны какие-то особые правила прогарда?
In obfuscated code, fields with different types can have the same names, and AtomicReferenceFieldUpdater may be unable to find the correct ones. To avoid field overloading by type during obfuscation, add this to your config: -keepclassmembernames class kotlinx.** { volatile <fields>; } https://github.com/Kotlin/kotlinx.coroutines (самый низ)

Alexey
25.10.2017
20:34:10
у меня с minifyEnabled true shrinkResources true краш в корутине. Если оба false то все ок

чертов обфускатор ((

хм, прогард рулы не помогли, релизная сборка крашится в корутине

в дебагге все норм

как отладить?(

Google
Alexey
25.10.2017
20:59:45
Ivan
25.10.2017
21:00:59
вряд ли
Знает

Gor
25.10.2017
21:01:39
Alexey
25.10.2017
21:02:18
ну шринкинг ресурсов точно не то
не, кажется там еще какие-то рулы нужны. Отключил эти флаги не крашится

включаю - крашится

что-то вырезает прогард лишнего

Ivan
25.10.2017
21:03:02
включаю - крашится
Попробуй сказать нам ошибку

Говорят это помогает иногда

Gor
25.10.2017
21:03:29
не, кажется там еще какие-то рулы нужны. Отключил эти флаги не крашится
так шринкинг ресурсов тут ни при чем, тебе с прогвард рулсами и minifyenabled играться нужно

Страница 386 из 982