⑴ 關於android studio 怎麼使用代碼混淆的問題
Android Studio上混淆打包apk方法: //混淆,新版本是ninifyEnabled不再是runproguard minifyEnabled true //載入默認混淆配置文件及自定義混淆 配置 proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard.cfg' 設置minifyEnabled true,就會在打包的時候進行代碼混淆處理. 其中proguard-android.txt不用管,在sdk目錄裡面,主要是配置了proguard.cfg文件。 直接在android studio創建項目不會有這個文件,而是 proguard-rules.pro文件,其實一樣的,因為項目是從eclipse遷移過來的,之前在eclipse上混淆是 proguard.cfg文件.
⑵ 關於Android studio 怎麼使用代碼混淆的問題
Android Studio上混淆打包apk方法:
//混淆,新版本是ninifyEnabled不再是runproguard
minifyEnabled true
//載入默認混淆配置文件及自定義混淆 配置
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard.cfg'
設置minifyEnabled true,就會在打包的時候進行代碼混淆處理. 其中proguard-android.txt不用管,在sdk目錄裡面,主要是配置了proguard.cfg文件。
直接在android studio創建項目不會有這個文件,而是 proguard-rules.pro文件,其實一樣的,因為項目是從eclipse遷移過來的,之前在eclipse上混淆是 proguard.cfg文件.
⑶ cocos2d-x-3.2 C++編寫的Android移游戲應用植到Eclipse後能否使用代碼混淆
可以指定那些能混淆 哪些不能混淆, 你要和C++通信的地方肯定不能混淆 其他的可以
⑷ Androidstudio導入 eclipse的項目混淆打包報錯
Eclipse遷移到Android studio步驟如下:
一、從Eclipse中導出:
1、將你的ADT插件版本升級到22.0以上。
2、在Eclipse中,選擇File-->Export。
3、在彈出的導出窗口中,打開Android的文件夾,選擇「Generate Gradle Build Files」。
4、選中你想要導入到Android Studio中的項目,Finish。
注意:導出的項目將會和原來的項目在同一目錄,覆蓋原來的同時,會新增一個叫build.gradle的文件,導入Android Studio時將首先讀取這個文件。
二、導入到Android Studio:
1、在Android Studio 中,首先關掉你當前的打開的項目。
2、在歡迎界面,點擊Import Project(註:也是可以直接在菜單選擇Import project的)。
3、選中你在Eclipse中導出的項目,展開目錄,點擊build.gradle文件,然後OK。
4、在之後的彈出對話框中,會要求你選擇Gradle的配置,選中Use gradle wrapper.(註:也可以自定義你本機裝的Gradle)。
注意:如果沒有Grade build文件,也是可以將普通的安卓項目導入到Android Studio中,它會用現有的Ant build.但為了更好地使用之後的功能和充分使用構建變數,還是強烈地建議先從ADT插件中生成Gradle文件再導入Android Studio。
⑸ Android如何代碼混淆,防止apk程序被反編譯
下面具體說一說怎麼樣讓SDK2.3下的proguard.cfg文件起作用,先來看看android-sdk-windows\tools\lib\proguard.cfg的內容:view plain 1. -optimizationpasses 5 2. -dontusemixedcaseclassnames 3. - 4. -dontpreverify 5. -verbose 6. -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 7. 8. -keep public class * extends android.app.Activity 9. -keep public class * extends android.app.Application 10. -keep public class * extends android.app.Service 11. -keep public class * extends android.content.BroadcastReceiver 12. -keep public class * extends android.content.ContentProvider 13. -keep public class * extends android.app.backup.BackupAgentHelper 14. -keep public class * extends android.preference.Preference 15. -keep public class com.android.vending.licensing.ILicensingService 16. 17. -keepclasseswithmembernames class * { 18. native <methods>; 19. } 20. 21. -keepclasseswithmembernames class * { 22. public <init>(android.content.Context, android.util.AttributeSet); 23. } 24. 25. -keepclasseswithmembernames class * { 26. public <init>(android.content.Context, android.util.AttributeSet, int); 27. } 28. 29. -keepclassmembers enum * { 30. public static **[] values(); 31. public static ** valueOf(java.lang.String); 32. } 33. 34. -keep class * implements android.os.Parcelable { 35. public static final android.os.Parcelable$Creator *; 36. } 從腳本中可以看到,混淆中保留了繼承自Activity、Service、Application、BroadcastReceiver、ContentProvider等基本組件以及com.android.vending.licensing.ILicensingService, 並保留了所有的Native變數名及類名,所有類中部分以設定了固定參數格式的構造函數,枚舉等等。) 讓proguard.cfg起作用的做法很簡單,就是在eclipse自動生成的default.properties文件中加上一句「proguard.config=proguard.cfg」就可以了 完整的default.properties文件應該如下:view plain 1. # This file is automatically generated by Android Tools. 2. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3. # 4. # This file must be checked in Version Control Systems. 5. # 6. # To customize properties used by the Ant build system use, 7. # "build.properties", and override values to adapt the script to your 8. # project structure. 9. 10. # Project target. 11. target=android-9 12. proguardproguard.config=proguard.cfg 大功告成,正常的編譯簽名後就可以防止代碼被反編譯了。
⑹ 如何混淆android代碼以及注意事項
2.3SDK的兩個新特點:
1.剛安裝上2.3時,查看sdk目錄,發現在 ools下新增了一文件夾「proguard」,如下圖,我就在想是不是Google終於官方對proguard考慮進去了。理論上,對java的混淆都是可以的,但關鍵在於如何編寫proguard的混淆腳本。
注意要點:
1.混淆以後的包會比混淆前的包小一點,一定要注意這點.
如果混淆不成功,請在第2步,將proguard.config=proguard.cfg修改為proguard.config=E:Mobile_DevelopGoogle_AndroidpublicGoldenBeach_newproguard.cfg這種類似的用絕對路徑,請注意絕對路徑中的文件夾名不能含有空格,如果有空格請替換為"_".
2.android在用proguard混淆時,一般情況下使用系統自帶的配置文件就可以保持大部分外部需要引用的類,比如Activity,view擴展等等,但是有些情況下一些引入的外部lib,如果被混淆也會出現各種各樣的問題,如果不想混淆這些包,就要加上
-keep class packagename.** {*;}
這樣就能完整保持原有class了
⑺ 安卓編程 如何進行代碼混淆
安卓在eclipse中的ADT已經改變原有的模式了,你在項目文件中找到這兩個文件,一般在項目根目錄里。
如果有回答不當之處,還望見諒。