Android: автоматически выбрать ключ отладки / выпуска Карты API? - PullRequest
40 голосов
/ 12 июня 2010

УДАЛЕНО: этот старый вопрос относится к устаревшему API Карт Google v1.При использовании v2 API вы можете использовать несколько отпечатков сертификатов в одной консоли API Google .Ключ API больше не хранится ни в манифесте, ни в коде.


Можно ли автоматически определить, какой сертификат использовался для подписания APK?Я хотел бы иметь отладочные и выпускать сертификаты Карт в приложении и передавать действительный сертификат в конструктор MapView.

При такой настройке я не ошибусь при выпуске приложения - я использую отладочный сертификат на эмуляторе иперед отправкой приложения в Market.

Я думал об обнаружении моего конкретного устройства или о том, подключен ли отладчик, но он не идеален.Может быть, какая-то маркировка файла нужна для отладочного сертификата?Есть ли лучший способ?

Ответы [ 11 ]

0 голосов
/ 22 января 2013

Я настроил простую цель ant, которая заменяет apikey либо ключом отладки, либо ключом выпуска. Это действительно просто и сохраняет код свободным от нежелательной логики.

<target name="apikey">
    <!-- Location of target layout file -->
    <first id="first">
        <fileset dir="." includes="res/layout/kondi_training_templates.xml" />
    </first>
    <property name="layout-file" value="${toString:first}"/>
    <echo>template-file: ${template-file}</echo>

    <replaceregexp file="${template-file}"
        match="android:apiKey=.*"
        replace='android:apiKey="${mapview.apikey}"'
        byline="true"
    />
</target>
...