Utilice LVL (License Verification Library) proporcionada a través de Google, es una verificación del lado del servidor de que el usuario realmente compró su aplicación.
http://developer.android.com/guide/market/licensing/index.html
utilizar otras técnicas para detectar si la aplicación ha sido manipulado, hay unos pocos y que están cubiertos en esta entrada del blog y el video de E/S. Supongamos que fue pirateado si se manipuló. (Doble cheque extra para asegurarse de que no se juega esto y molestar a los usuarios reales)
http://android-developers.blogspot.com/2010/09/securing-android-lvl-applications.html
http://www.youtube.com/watch?v=TnSNCXR9fbY
Uso AntiLVL en contra de su propia aplicación, lo atacan como una galleta! Esto es en realidad muy divertido y educativo, vea cuánto trabajo se necesita para descifrar su aplicación. El blog/herramienta repasa las debilidades conocidas y puede tomar algunas decisiones informadas sobre cómo evitar que las herramientas automatizadas funcionen. Detener a los piratas dedicados no es la prioridad, pero es fácil conseguir que las personas dejen de utilizar una herramienta de un solo clic.
http://androidcracking.blogspot.com/
EDIT 1:
hacer una versión gratuita con anuncios y/o menos funciones. Las galletas solo quieren cosas gratis, así que hazlas fáciles :) Si detecta que están usando una versión agrietada de su aplicación paga, puede intentar convertirlas a la versión gratuita o venderlas a la versión paga. Actualmente alrededor de 1/4 de la población de craqueo una de mis aplicaciones abrirán la Google Play para la versión completa pagada (aunque menos realmente comprarlo)
Como recién llegado al tema del endurecimiento de Android, ¿has visto algo más que ayudaría? Estoy descubriendo que, en el círculo de seguridad, las personas simplemente no hablan, por lo que puedo apreciarlo si no pueden analizar enfoques más detallados. Pero esta pregunta es si debería mirar más lejos o no en función del tiempo transcurrido entre esta respuesta y ahora. –