Este é meu primeiro projeto no Android Studio, e o código dos meus aplicativos não está ofuscado. Estou usando esta configuração no arquivo build.gradle:
Estou usando Build> Generate Signed APK ... com Run Proguard marcado. E, quando testei usando o Apk_OneClick.v4.2, meu código ficou completamente fácil de ler:
Por favor me ajude. :(
android
android-studio
proguard
Felipe Porge Xavier
fonte
fonte
Respostas:
Provavelmente, você não está realmente assinando a versão de lançamento do APK por meio do assistente de assinatura. Você pode criar o APK de lançamento a partir da linha de comando com o comando:
ou você pode escolher a variante de lançamento na visualização Build Variants e criá-la a partir da GUI:
fonte
Você pode configurar seu arquivo build.gradle para implementação do Proguard. Pode ser no nível do módulo ou no nível do projeto.
A configuração mostrada é para o nível de depuração, mas você pode escrever seus próprios tipos de compilação, como mostrado abaixo dentro de buildTypes:
É melhor ter seu debug com um
minifyEnabled false
build de produção e outros builds comominifyEnabled true
.Copie seu arquivo proguard-rules.txt na raiz de seu módulo ou pasta de projeto como
$YOUR_PROJECT_DIR\YoutProject\yourmodule\proguard-rules.txt
Você pode alterar o nome do arquivo como desejar. Após a configuração, use uma das três opções disponíveis para gerar sua construção de acordo com o buildType
Vá para a tarefa gradle no painel direito e pesquise as
assembleRelease/assemble(#your_defined_buildtype)
tarefas do móduloVá para Build variant no painel esquerdo e selecione a build no menu suspenso
Vá para o diretório raiz do projeto no File Explorer e abra cmd / terminal e execute
Linux
./gradlew assembleRelease or assemble(#your_defined_buildtype)
janelas
gradlew assembleRelease or assemble(#your_defined_buildtype)
Você pode encontrar o apk em seu diretório de módulo / compilação.
Mais sobre a configuração e localização dos arquivos proguard está disponível no link
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard
fonte
NB: Agora em vez de
você precisará usar
fonte
Tente renomear seu arquivo 'proguard-rules.txt' para 'proguard-android.txt' e remova a referência a 'proguard-rules.txt' em seu arquivo gradle. A
getDefaultProguardFile(...)
chamada faz referência a um arquivo Proguard padrão diferente, fornecido pelo Google e não o do seu projeto. Portanto, remova isso também, para que aqui o arquivo gradle leia:fonte
As outras respostas aqui são ótimas referências sobre o uso do Proguard. No entanto, não vi um problema discutido que eu encontrei que fosse um dobrador de mente. Depois de gerar um .apk de liberação assinado, ele é colocado na
/release
pasta do seu aplicativo, mas meu aplicativo tinha um apk que não estava na/release
pasta. Conseqüentemente, passei horas descompilando o apk errado me perguntando por que minhas alterações no programa não estavam tendo efeito. Espero que isso ajude alguém!fonte
Aqui estão algumas das regras mais comuns do Proguard que você precisa adicionar no arquivo proguard-rules.pro no Android Sutdio.
Faca de manteiga
Retrofit
OkHttp3
Gson
Ofuscação de código
fonte