<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171380</guid>
        <pubDate>Sun, 15 Jul 2012 18:45:37 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171380</link>
        <description><![CDATA[Homez: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171376'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T22:40:22+04:00">15.07.12, 18:40</time></span><div class='quote '>Та пока что твоя софтина копируется за 5 минут. </div></div><br>
И что с того? Она не для продажи.]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171376</guid>
        <pubDate>Sun, 15 Jul 2012 18:40:22 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171376</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171369'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T18:18:19+00:00">15.07.12, 18:18</time></span><div class='quote '>Так наверно и не пробовали не на маркете. То, что где-то что-то хорошо работает, совсем не значит, что в другом месте это же работает приотвратно.<br>
</div></div><br>
 :crazy: <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171369'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T18:18:19+00:00">15.07.12, 18:18</time></span><div class='quote '>А что за приложения, если не секрет?<br>
</div></div><br>
Netflix и его собратья.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171369'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T18:18:19+00:00">15.07.12, 18:18</time></span><div class='quote '>То, что у тебя не получилось исключить хаки полностью, не значит, что нельзя сделать более крутую защиту. К тому же я сомневаюсь, что водители будут нанимать хакеров, чтобы бесплатно вкусить плоды пользования этой программы. Хакерам дороже заплатят Или думаешь, сами хакать будут?<br>
</div></div><br>
Та пока что твоя софтина копируется за 5 минут.]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171369</guid>
        <pubDate>Sun, 15 Jul 2012 18:18:19 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171369</link>
        <description><![CDATA[Homez: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171355'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:49:29+00:00">15.07.12, 17:49</time></span><div class='quote '>Товарищ, у моего заказчика на маркете десяток апликух с миллионом и выше закачек. Как ты думаешь, откуда такая уверенность? </div></div> Так наверно и не пробовали не на маркете. То, что где-то что-то хорошо работает, совсем не значит, что в другом месте это же работает приотвратно.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171355'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:49:29+00:00">15.07.12, 17:49</time></span><div class='quote '>Я просто последние полгода потратил на то, чтобы написать систему, которая предотвратит возможность хака софтинки заказчика. Баз защиты софтинку хакнули в течении часа, хотя у нас и закачек не один лям. Но это было бы желание.</div></div><br>
То, что у тебя не получилось исключить хаки полностью, не значит, что нельзя сделать более крутую защиту. К тому же я сомневаюсь, что водители будут нанимать хакеров, чтобы бесплатно вкусить плоды пользования этой программы. Хакерам дороже заплатят:) Или думаешь, сами хакать будут?:)<br>
<br>
Но я совершенно не в курсе, как оно там в этом мобильном ТаксиМастере, поэтому больше ничего сказать не могу. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T18:29:56+00:00">15.07.12, 18:29</time></span></span><br>
<strong class='tag-b'>Эмик Ферман</strong><br>
А что за приложения, если не секрет?]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171355</guid>
        <pubDate>Sun, 15 Jul 2012 17:49:29 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171355</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171348'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:35:47+00:00">15.07.12, 17:35</time></span><div class='quote '>Ты знаешь эту программу?<br>
</div></div><br>
Я просто последние полгода потратил на то, чтобы написать систему, которая предотвратит возможность хака софтинки заказчика. Баз защиты софтинку хакнули в течении часа, хотя у нас и закачек не один лям. Но это было бы желание.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171348'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:35:47+00:00">15.07.12, 17:35</time></span><div class='quote '>Откуда такая уверенность?<br>
</div></div><br>
Товарищ, у моего заказчика на маркете десяток апликух с миллионом и выше закачек. Как ты думаешь, откуда такая уверенность?]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171348</guid>
        <pubDate>Sun, 15 Jul 2012 17:35:47 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171348</link>
        <description><![CDATA[Homez: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171345'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:28:35+00:00">15.07.12, 17:28</time></span><div class='quote '>Защиты нет - инфа 146%</div></div><br>
Ты знаешь эту программу?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171345'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:28:35+00:00">15.07.12, 17:28</time></span><div class='quote '>Ага, только НИКАКИХ репортов с того софта вы не получите. А репорты - это самое дорогое что может быть. </div></div><br>
Откуда такая уверенность?]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171345</guid>
        <pubDate>Sun, 15 Jul 2012 17:28:35 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171345</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171343'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:25:40+00:00">15.07.12, 17:25</time></span><div class='quote '>Я в эти детали не вдавался. Очевидно, какая-то защита есть. Это к ребятам из Ижевска. Деньги за установку все равно в итоге идут им.<br>
</div></div><br>
Защиты нет - инфа 146%.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171343'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:25:40+00:00">15.07.12, 17:25</time></span><div class='quote '>Ну на Google Play же мы будем выкладывать. Кто все любит брать там - пжалста. Но что же, незаконно выложить версию программы на сайте? Кто знает, где какие галки надо ставить в сеттингах, тот и поставит. А остальные смогут воспользоваться Google Play.<br>
</div></div><br>
Ага, только НИКАКИХ репортов с того софта вы не получите. А репорты - это самое дорогое что может быть.]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171343</guid>
        <pubDate>Sun, 15 Jul 2012 17:25:40 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171343</link>
        <description><![CDATA[Homez: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171335'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:16:58+00:00">15.07.12, 17:16</time></span><div class='quote '>А что мешает водиле стянуть софтину с телефона и отдать её другому водиле? Зачем второму платить?</div></div><br>
Я в эти детали не вдавался. Очевидно, какая-то защита есть. Это к ребятам из Ижевска. Деньги за установку все равно в итоге идут им.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171335'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:16:58+00:00">15.07.12, 17:16</time></span><div class='quote '>Для того чтобы поставить апу не с маркета, надо знать, как минимум, где поставить галку в сеттингах ;)</div></div><br>
Ну на Google Play же мы будем выкладывать. Кто все любит брать там - пжалста. Но что же, незаконно выложить версию программы на сайте? Кто знает, где какие галки надо ставить в сеттингах, тот и поставит. А остальные смогут воспользоваться Google Play.]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171335</guid>
        <pubDate>Sun, 15 Jul 2012 17:16:58 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171335</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171331'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:04:01+00:00">15.07.12, 17:04</time></span><div class='quote '>Клиент ТаксиМастера ставится платный, шеф даже берет его стоимость с водителя. Если водила хороший, работящий, то потом это окупит. Со всеми водителями пока договор совершается в офисе, так что почему бы и не ставить сразу на телефон программу.<br>
</div></div><br>
А что мешает водиле стянуть софтину с телефона и отдать её другому водиле? Зачем второму платить?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171331'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:04:01+00:00">15.07.12, 17:04</time></span><div class='quote '>По поводу краш-репортов. Я пошукал немного на эту тему. Говорят, что стандартный функционал Android, который обеспечивает краш-репорты через сервис Google Play, довольно скромный, и для реального анализа проблем его использовать затруднительно. Существуют альтернативы, предоставляющие больше возможностей, и как я понял, они к Google Play не привязаны.<br>
</div></div>Добавлю, что, честно, про краш-репорты я вообще пока ничего и не думал, и вот только сегодня узнал, в первую очередь от тебя, Эмик Ферман, что на Android есть для этого сервисы. Но я уже почти закончил работу над первой версией программы, на будущей неделе ее бы уже пора выпускать. Поэтому такая серьезная доработка, если решим с шефом, что она нужна, останется для следующих релизов. <br>
<br>
Ололо&#33; А что же там скромного? Есть стек трейс, есть девайс, что еще надо?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171331'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:04:01+00:00">15.07.12, 17:04</time></span><div class='quote '>Добавлю, что, честно, про краш-репорты я вообще пока ничего и не думал, и вот только сегодня узнал, в первую очередь от тебя, Эмик Ферман, что на Android есть для этого сервисы. Но я уже почти закончил работу над первой версией программы, на будущей неделе ее бы уже пора выпускать. Поэтому такая серьезная доработка, если решим с шефом, что она нужна, останется для следующих релизов. <br>
</div></div><br>
Так вот с гугл плей или той же флури креш репорты работают из коробки, тоесть сложности НОЛЬ. С другой стороны, если у клиента проблема, как ты узнаешь что случилось? Да ты багу просто не повторишь, если она случилась из за того, что клиент въехал в туннель и у него там связь упала :)<br>
<br>
Опять же, как узнать что в твоей апе есть функционал, который не использует клиент? Как узнать что наиболее используемо? <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171331'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T17:04:01+00:00">15.07.12, 17:04</time></span><div class='quote '>Ага, следуя тебе, по мере набора опыта мне будет все труднее и труднее ставить программы на устройство Android не с сервиса Google Play. У меня шеф не программист, не технарь, но ему не составляет проблемы поставить очередную версию программы, присланную ему мной по электронной почте.<br>
</div></div><br>
Для того чтобы поставить апу не с маркета, надо знать, как минимум, где поставить галку в сеттингах ;)]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171331</guid>
        <pubDate>Sun, 15 Jul 2012 17:04:01 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171331</link>
        <description><![CDATA[Homez: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171323'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T16:42:45+00:00">15.07.12, 16:42</time></span><div class='quote '>Если кому то надо ваше приложение, то его из телефона вытянут за 10 минут. А если 10 водил, то всем 10м приезжать?</div></div><br>
Это не мера предосторожности. Обычная практика. Клиент ТаксиМастера ставится платный, шеф даже берет его стоимость с водителя. Если водила хороший, работящий, то потом это окупит. Со всеми водителями пока договор совершается в офисе, так что почему бы и не ставить сразу на телефон программу.<br>
<br>
Возможно, в будущем будем заключать и &quot;удаленные&quot; договора, когда личное присутствие водителя в офисе может не понадобиться. Но я все равно не вижу причин направлять всех на Google Play. Приложение будет специализированное, ни к чему ему будет валяться на паблике в открытом доступе. Хотя мы с шефом такие моменты не обсуждали, его еще и написать надо, это приложение для водителей, пока есть только очень скромные зачатки.<br>
<br>
А если приложение вообще &quot;закрытое&quot;, но требуется удаленным клиентам? Его тоже выкладывать на Google Play? А если я на заказ напишу приложение для планшетов, например, для какой-нибудь образовательной организации, для проведения тестирования? Его тоже туда выкладывать?<br>
<br>
У меня начинает складываться впечатление, будто вы являетесь Google Android Advocate, поэтому так и агитируете за Google Play.<br>
<br>
По поводу краш-репортов. Я пошукал немного на эту тему. Говорят, что стандартный функционал Android, который обеспечивает краш-репорты через сервис Google Play, довольно скромный, и для реального анализа проблем его использовать затруднительно. Существуют альтернативы, предоставляющие больше возможностей, и как я понял, они к Google Play не привязаны.<br>
<br>
Добавлю, что, честно, про краш-репорты я вообще пока ничего и не думал, и вот только сегодня узнал, в первую очередь от тебя, <strong class='tag-b'>Эмик Ферман</strong>, что на Android есть для этого сервисы. Но я уже почти закончил работу над первой версией программы, на будущей неделе ее бы уже пора выпускать. Поэтому такая серьезная доработка, если решим с шефом, что она нужна, останется для следующих релизов. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T17:06:56+00:00">15.07.12, 17:06</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171323'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T16:42:45+00:00">15.07.12, 16:42</time></span><div class='quote '>С опытом придёт :tong:</div></div><br>
Ага, следуя тебе, по мере набора опыта мне будет все труднее и труднее ставить программы на устройство Android не с сервиса Google Play. У меня шеф не программист, не технарь, но ему не составляет проблемы поставить очередную версию программы, присланную ему мной по электронной почте. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T17:14:56+00:00">15.07.12, 17:14</time></span></span><br>
Тема-то вовсе изначально не про то, использовать ли Googlу Play или нет. Тема про динамическую загрузку классов в сеансе приложения Android. Это может понадобиться не только собственно для ообновления. Например, так мы сможем обеспечить модульность, когда для использования каких-то дополнительных возможностей клиент просто может прямо в приложении инициировать загрузку дополнительного модуля и начать им пользоваться. Например, это карты. Кому-то может это и не надо, так зачем под завязку забивать apk классами и ресурсами? Если человеку надо, он всегда сможет такие дополнительные модули докачать, а не делать сразу загрузку всего-всего в одном apk в несколько сотен килобайт.]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171323</guid>
        <pubDate>Sun, 15 Jul 2012 16:42:45 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171323</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171265'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T14:38:50+00:00">15.07.12, 14:38</time></span><div class='quote '>Гм, не понимаю, о чем ты. <br>
</div></div><br>
Ну вот завалилось у тебя приложение на железке клиента. Как ты увидишь стек трейс креша? Голубиной почтой?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171265'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T14:38:50+00:00">15.07.12, 14:38</time></span><div class='quote '>Приложение может ставиться, когда водитель приезжает в офис заключить договор. Обычная практика. Так у нас обстоят дела с водительским клиентом системы ТаксиМастер - он и под Windows Mobile, и под Android есть. <br>
</div></div><br>
Если кому то надо ваше приложение, то его из телефона вытянут за 10 минут. А если 10 водил, то всем 10м приезжать?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171265'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T14:38:50+00:00">15.07.12, 14:38</time></span><div class='quote '>Что-то я такого не заметил.<br>
</div></div><br>
С опытом придёт  :tong:]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171265</guid>
        <pubDate>Sun, 15 Jul 2012 14:38:50 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171265</link>
        <description><![CDATA[Homez: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171231'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T13:26:56+00:00">15.07.12, 13:26</time></span><div class='quote '>Более того, а ка ты собираешся креш репорты получать? Или ты хотя бы flurry прикрутил? </div></div>Гм, не понимаю, о чем ты. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T14:41:02+00:00">15.07.12, 14:41</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171231'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T13:26:56+00:00">15.07.12, 13:26</time></span><div class='quote '>А что в этом такого? Это просто и удобно. Не нужно дров, шнурков и знания adb. Водилы далеки от этого.</div></div><br>
Приложение может ставиться, когда водитель приезжает в офис заключить договор. Обычная практика. Так у нас обстоят дела с водительским клиентом системы ТаксиМастер - он и под Windows Mobile, и под Android есть. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T14:41:44+00:00">15.07.12, 14:41</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171265'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T14:38:50+00:00">15.07.12, 14:38</time></span><div class='quote '>Это всеравно гимор. </div></div>Что-то я такого не заметил.]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171231</guid>
        <pubDate>Sun, 15 Jul 2012 13:26:56 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171231</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171222'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T13:16:58+00:00">15.07.12, 13:16</time></span><div class='quote '>Те водители, которые должны работать с нашим сервисом, получается, должны скачивать прогу с Google Play?</div></div><br>
А что в этом такого? Это просто и удобно. Не нужно дров, шнурков и знания adb. Водилы далеки от этого.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171222'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T13:16:58+00:00">15.07.12, 13:16</time></span><div class='quote '>Гм, а почему просто не скачать apk на SD-карту и поставить оттуда? Зачем такие сложности через adb? Я вроде ни разу так ничего не ставил.</div></div><br>
Это всеравно гимор. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T13:28:59+00:00">15.07.12, 13:28</time></span></span><br>
Более того, а ка ты собираешся креш репорты получать? Или ты хотя бы flurry прикрутил?]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171222</guid>
        <pubDate>Sun, 15 Jul 2012 13:16:58 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171222</link>
        <description><![CDATA[Homez: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171215'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T13:00:37+00:00">15.07.12, 13:00</time></span><div class='quote '>Тем кому надо - скачают. А тем кому не надо - не скачают. Вот и всё. На маркете сейчас более 600 000 приложений, так что +1 погоду не сделает.<br>
</div></div>Совсем не резон. Те водители, которые должны работать с нашим сервисом, получается, должны скачивать прогу с Google Play? Это же все равно, что я сделаю прогу на заказ и выложу ее на Яндекс-Маркете, а заказчик пусть оттуда и качает.<br>
<br>
+1 погоду не сделает? А без этого приложения водитель не сможет работать с нашим сервисом&#33;<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171215'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Эмик Ферман &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T13:00:37+00:00">15.07.12, 13:00</time></span><div class='quote '>Потому что им надо делать adb install -R taxi.apk каждый раз, следить за версиями и т.д. </div></div><br>
Гм, а почему просто не скачать apk на SD-карту и поставить оттуда? Зачем такие сложности через adb? Я вроде ни разу так ничего не ставил.<br>
<br>
Если же я сделаю автообновление внутри сеанса программы, то ничего следить и не нужно будет клиенту. Достаточно написать очень продуманный, функциональный загрузчик.]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171215</guid>
        <pubDate>Sun, 15 Jul 2012 13:00:37 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171215</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171192'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T12:09:30+00:00">15.07.12, 12:09</time></span><div class='quote '> Там уже нет смысла выкладывать на Google Play, так как приложение это будет уже не для широкого круга лиц. И что тогда? </div></div><br>
Тем кому надо - скачают. А тем кому не надо - не скачают. Вот и всё. На маркете сейчас более 600 000 приложений, так что +1 погоду не сделает.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3171192'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-15T12:09:30+00:00">15.07.12, 12:09</time></span><div class='quote '> Так почему бы не выкладывть apk прямо на нашем сайте?</div></div><br>
Потому что им надо делать adb install -R taxi.apk каждый раз, следить за версиями и т.д.]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171192</guid>
        <pubDate>Sun, 15 Jul 2012 12:09:30 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171192</link>
        <description><![CDATA[Homez: Почему 0? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T12:11:26+00:00">15.07.12, 12:11</time></span></span><br>
Дело в том, что еще нужно будет написать Android-приложене для водителей сервиса со статусо индивидульного предпринимателя. Там уже нет смысла выкладывать на Google Play, так как приложение это будет уже не для широкого круга лиц. И что тогда? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2012-07-15T12:15:09+00:00">15.07.12, 12:15</time></span></span><br>
<strong class='tag-b'>Эмик Ферман</strong><br>
Недоказанное утверждение. На сайт нашей фирмы ежедневно заходит 500 человек. Есть постоянные клиенты. Наверняка среди них есть пользователи Android. Так почему бы не выкладывть apk прямо на нашем сайте? Ну разумеется, лучше давать и линк на Google Play. Но мне не кажется, что закачек будет уж так и 0. Допустим, не так и много, но точно не 0. Немного и 0 - это разные вещи.]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171187</guid>
        <pubDate>Sun, 15 Jul 2012 11:54:31 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171187</link>
        <description><![CDATA[Эмик Ферман: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=360918&view=findpost&p=3170906'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Homez &#064; <time class="tag-quote__quoted-time" datetime="2012-07-14T19:52:09+00:00">14.07.12, 19:52</time></span><div class='quote '> Но мы с шефом не хотим зацикливаться только на этом сервисе, скорее всего, будем распространять приложение из других источников, например, создадим раздел на корпоративном сайте, посвященный программе.</div></div><br>
У вас реально будет 0 (ноль) закачек, так что не партесь. Линк на гугл плей и вуаля.]]></description>
        <author>Эмик Ферман</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171131</guid>
        <pubDate>Sun, 15 Jul 2012 09:48:53 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171131</link>
        <description><![CDATA[Homez: Гм, ну ведь можно все задачки держать в одном библиотечном проекте. А потом вытаскивать class-файлы из получающегося jar и перепаковывать их в персональные jar-файлы, докомплектовывая каждый своим classes.dex. Так как все это можно делать консольными командами, то когда число задач возрастет, можно написать батник, который будет это делать автоматически.<br><br>P.S. Пишу тут сам для себя:)]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171111</guid>
        <pubDate>Sun, 15 Jul 2012 08:39:53 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3171111</link>
        <description><![CDATA[Homez: Проблему решил. Из подгружаемого библиотечного jar-файла нужно удалить этот интерфейс. А в загрузчике нужно его определить со спецификатором public, так как иначе загрузчик классов DexClassLoader просто его не увидит.<br><br>Но появился другой вопрос: есть ли возможность каким-нибудь образом подгружать &quot;сырые&quot; class-файлы, без обертки в jar? Просто вот хочу доделать этот пример, создать на своем личном файле хранилище для классов, решающих задачи с projecteuler.net, придумать какой-то скрипт, который будет возвращать их текущие версии, и если в программе для каких-то классов используются более старые версии, то подгружать новые во внутреннее хранилище, а оттуда при необходимости в сеанс программы (если я захочу решить получить решение какой-то определенной задачи). Но на этом сайте у меня уже 169 решенных задач, создавать для каждой свой проект в Eclipse и чтобы каждая была обернута в jar - это безумие.]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3170906</guid>
        <pubDate>Sat, 14 Jul 2012 19:52:09 +0000</pubDate>
        <title>Android. Динамическая подгрузка и выполнение кода из внешнего jar-файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=360918&amp;view=findpost&amp;p=3170906</link>
        <description><![CDATA[Homez: Всем привет&#33;<br>
<br>
Когда-то тут на заре знакомства с Android создавал тему про обновление программы во время ее собственного сеанса: <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=357965' target='_blank'>http://forum.sources.ru/index.php?showtopic=357965</a>. Тогда мне не сказали почти ничего нового, посоветовав не слезать с Google Play и его опции автоматического обновления. Но мы с шефом не хотим зацикливаться только на этом сервисе, скорее всего, будем распространять приложение из других источников, например, создадим раздел на корпоративном сайте, посвященный программе. А для других источников автоматическое обновление уже не будет работать. В связи с этим серьезно рассматриваем тему автоматического обновления программного кода и ресурсов программы внутри ее сеанса, при наличии новой версии на сайте.<br>
<br>
Вечерком я наткнулся на любопытную статейку в блогах на Android Developers: <a class='tag-url' href='http://android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html' target='_blank'>Android Developers Blog: Custom Class Loading in Dalvik</a>. В ней говорилось о том, как динамически подгружать классы, не связанные статически с основной программой, в качестве источника использовался раздел assets (гм, еще не приходилось с такими ресурсами работать, использовал res/raw, не знаю, в чем различие). Классы могут быть подгружены стандартным класс-лоадером только с диска (вроде я прав?), поэтому перед загрузкой файл с ними записывался во внутреннее хранилище. В статье приведен программный код, но законченного программного примера-проекта нет.<br>
<br>
Сегодня, доделав некоторые намеченные фишки по интерфейсу программы, я решил на отдельном проекте попробовать в несколько другом виде реализовать динамическую загрузку класса и выполнение программного код из него. Для простоты решил разместить подгружаемую библиотеку на SD-карте. Часа два боролся с разными проблемами, не буду детализровать, помогли вот эти две странички на StackOverflow: <a class='tag-url' href='http://stackoverflow.com/questions/3022454/how-to-load-a-java-class-dynamically-on-android-dalvik' target='_blank'>http://stackoverflow.com/questions/3022454...-android-dalvik</a> и <a class='tag-url' href='http://stackoverflow.com/questions/6857807/is-it-possible-to-dynamically-load-a-library-at-runtime-from-an-android-applicat?rq=1' target='_blank'>http://stackoverflow.com/questions/6857807...d-applicat?rq=1</a>. В итоге получилось подгрузить с диска класс, создать объект и вызвать его метод. В коде этого метода просто выводился AlertDialog типа Hello World.<br>
<br>
Однако, для вызова этого метода пришлось использовать механизмы Java Reflect Api. В случае сложного интерфейса между загрузчиком и подгружаемыми модулями, в том числе межмодульного взаимодействия это уже не самое лучшее решение. Удобнее бы было разработать ряд Java-интерфейсов, известных и в подгружаемом коде, и в загрузчике, в последнем при создании объектов подгружаемых классов приводить их к типам этих интерфейсов, а в библиотеки сами классы от этих интерфейсов на следовать. Но так у меня сделать не получилось Dalvik VM открыто протестует, встречая объявление одного и того же интерфейса и в загрузчике, и в полгружаемом коде. Как мне это обойти?<br>
<br>
Приведу пример. В качестве примера я выбрал динамическую прдгрузку классов, решающих задачки с projecteuler.net. Каждая задачка - имплементация такого интерфейса:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">interface Problem</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;void solve(Activity activity);</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Конкретный класс-реализацию приводить не буду, допустим, она просто выводит сообщение с помощью AlertDialog, опираясь на аргумент activity. Вот такой у меня получился код для загрузчика:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">public void onCreate(Bundle savedInstanceState)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;super.onCreate(savedInstanceState);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;setContentView(R.layout.activity_main);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;final String SECONDARY_DEX_NAME = &quot;problems.jar&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;File dexInternalStoragePath = new File(Environment.getExternalStorageDirectory().getPath() + &quot;/euler&quot;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SECONDARY_DEX_NAME);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Log.i(&quot;euler&quot;, dexInternalStoragePath.exists() ? &quot;Файл существует&quot; : &quot;Файл не найден&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// Внутреннее хранилище для потимизированных класс-файлов</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;final File optimizedDexOutputPath = getDir(&quot;outdex&quot;, Context.MODE_PRIVATE);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;DexClassLoader cl = new DexClassLoader(dexInternalStoragePath.getAbsolutePath(),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; optimizedDexOutputPath.getAbsolutePath(),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; null,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; getClassLoader());</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Class&#60;?&#62; problemClass = null;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;problemClass = cl.loadClass(&quot;ru.homez.euler.Problem1&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Problem problem = (Problem)problemClass.newInstance();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;problem.solve(this);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/*</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Object problem = problemClass.newInstance();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;final Method solve = problemClass.getMethod(&quot;solve&quot;, Activity.class); &nbsp; &nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;solve.invoke(problem, this);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*/</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;catch (Exception e)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;e.printStackTrace();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><br>
<br>
Здесь внутри комментария показан альтернативный вариант с помощью Java Reflect API. А этот код генерит у меня такое исключение на loadClass:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">07-14 23:48:53.763: E/AndroidRuntime(25619): java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation</div></ol></div></div></div></div><br>
<br>
Где-то вычитал, что это из-за конфликта повторно определенных классов/интерфейсах. А у меня ж интерфейс Problem определен в обоих проектах. Как быть?]]></description>
        <author>Homez</author>
        <category>Android</category>
      </item>
	
      </channel>
      </rss>
	