Android Id

Когда-то была серьезная проблема с тем, что несколько производителей устройств на ОС Android умудрились выпустить миллионы устройств с неуникальным ANDROID_ID. Таким образом, многие разработчики (клавным образом те, кто писал библиотеки, либо SDK для сбора статистики) искали способ найти нечто уникальное у каждого аппарата, и собирали MAC-адреса WI-FI модуля, либо IMEI и IMSI коды аппарата.

Но есть более простой вариант — почти везде можно прочитать уникальный серийный номер внутренней флэшки, который находится в файле /sys/block/mmcblk0/device/serial.

Как убрать логи из релизного билда?

Закомментировать логи:
find . -name "*\.java" | xargs grep -l 'Log\.' | xargs sed -i 's/Log\./;\/\/ Log\./g'
Раскомментировать логи:
find . -name "*\.java" | xargs grep -l 'Log\.' | xargs sed -i 's/;\/\/ Log\./Log\./g'

Либо с помощью задачи Ant’а:

<target name="base.removelogs">
    <replaceregexp byline="true">
        <regexp pattern="Log.d\s*\(\s*\)\s*;"/>
        <substitution expression="{};"/>
        <fileset dir="src/"><include name="**/*.java"/></fileset>
    </replaceregexp>
</target>

Будьте внимательны, чтобы вызов лога не разделялся на несколько строк.