Обновление SDK (не обновляйтесь никогда)
Добавлено: 02 июл 2014, 16:16
Всем привет. После Google IO 2014 решил же все таки попробовать обновку. Я не буду описывать все проблемы с которыми столкнулся, потому что их оказалось очень много.
1. Что казалось быть проще, запустить студи, нажать кнопочку апдейта и все обновится и дальше себе кодишь. А нет, в этот раз (не в первой) гугловцы нагло выбрасывают диалог и говорят что нужно скачать полностью новую студию. то есть предыдущую 0.6.1 нельзя обновить до 0.8.0. Старую мне куда выкидывать? А если у меня трафик лимитированный? В общем как всегда индусы понаписывали про себя подумал я и решил скачать.
2. Запускаю, пишет что теперь нужно обновить SDK. Думаю ОК. Что тута такого, обновлюсь с 19 апи до 20, а там гляди и L версия и дальше продолжу писать проект. А нет, и тута сидит индус в засаде. Что бы запустить проект, нужно поменять версии плагина для градла, таргет версию и версии саппорт библиотек. Казалось бы логично, обновил сдк - обнови версии в конфигах. Прикол в том что старые конфиги после обновления нужно править, некоторые атрибуты уже или устарели или просто студия говорит что вместо этого атрибута в build.gradle нужно юзать что то другое. Але гугл, где обратная совместимость?! Я уже не первый раз наступаю на эти грабли и приходится после каждой обновки править проект. В общем они уже не просто индусы, а индусы-титушки (кто в теме тот поймет ).
3. Не стал я править проект, так как лень и к тому же коллеги не стали обновляться. Решил я пооставлять везде старые версии 19 и т.д. Но вот беда, все равно не хочет собираться проект. Я уже и заново SDK перекачал, ну не в какую. Выдает мне студия что, парень ты юзаешь 19 версию сдк, а она отличается от той которая в саппорт библиотеке, будь индусом как и я и поставь L версию. Я сижу в недоумении, у меня везде стоит 19 версия, я даже откатился в репозитории отменив весь индусский код. Просидел я с этой индуской бедой почти целый день. В итоге нашел решение. Идем по пути локалки где у вас лежит саппорт либы и сносим все ревизии выше 19.1.0. Например: D:\Android\android-studio\sdk\extras\android\m2repository\com\android\support\appcompat-v7 там вы увидите папочки, вот их и сносите. Так же откройте файл maven-metadata.xml и от туда тоже снесите новые версии. Я так понял что отсюда он и брал новые версии.
P.S. Просто накипело. Они как бы делают все что бы облегчить нам жизнь, но в итоге получается наоборот. Наверное потому что у индусов менталитет другой.
1. Что казалось быть проще, запустить студи, нажать кнопочку апдейта и все обновится и дальше себе кодишь. А нет, в этот раз (не в первой) гугловцы нагло выбрасывают диалог и говорят что нужно скачать полностью новую студию. то есть предыдущую 0.6.1 нельзя обновить до 0.8.0. Старую мне куда выкидывать? А если у меня трафик лимитированный? В общем как всегда индусы понаписывали про себя подумал я и решил скачать.
2. Запускаю, пишет что теперь нужно обновить SDK. Думаю ОК. Что тута такого, обновлюсь с 19 апи до 20, а там гляди и L версия и дальше продолжу писать проект. А нет, и тута сидит индус в засаде. Что бы запустить проект, нужно поменять версии плагина для градла, таргет версию и версии саппорт библиотек. Казалось бы логично, обновил сдк - обнови версии в конфигах. Прикол в том что старые конфиги после обновления нужно править, некоторые атрибуты уже или устарели или просто студия говорит что вместо этого атрибута в build.gradle нужно юзать что то другое. Але гугл, где обратная совместимость?! Я уже не первый раз наступаю на эти грабли и приходится после каждой обновки править проект. В общем они уже не просто индусы, а индусы-титушки (кто в теме тот поймет ).
3. Не стал я править проект, так как лень и к тому же коллеги не стали обновляться. Решил я пооставлять везде старые версии 19 и т.д. Но вот беда, все равно не хочет собираться проект. Я уже и заново SDK перекачал, ну не в какую. Выдает мне студия что, парень ты юзаешь 19 версию сдк, а она отличается от той которая в саппорт библиотеке, будь индусом как и я и поставь L версию. Я сижу в недоумении, у меня везде стоит 19 версия, я даже откатился в репозитории отменив весь индусский код. Просидел я с этой индуской бедой почти целый день. В итоге нашел решение. Идем по пути локалки где у вас лежит саппорт либы и сносим все ревизии выше 19.1.0. Например: D:\Android\android-studio\sdk\extras\android\m2repository\com\android\support\appcompat-v7 там вы увидите папочки, вот их и сносите. Так же откройте файл maven-metadata.xml и от туда тоже снесите новые версии. Я так понял что отсюда он и брал новые версии.
P.S. Просто накипело. Они как бы делают все что бы облегчить нам жизнь, но в итоге получается наоборот. Наверное потому что у индусов менталитет другой.