国产亚洲欧美人成在线,免费视频爱爱太爽了无码,日本免费一区二区三区高清视频 ,国产真实伦对白精彩视频

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點點滴滴

Flutter中的代碼混淆

發(fā)表日期:2018-08 文章編輯:小燈 瀏覽次數(shù):2983

??原文鏈接:https://github.com/flutter/flutter/wiki/Obfuscating-Dart-Code

??以下內(nèi)容均來自Flutter Github官方Wiki。

??代碼混淆可以隱藏你的Dart代碼中的函數(shù)和類名,讓反編譯App變得困難。
??注:Dart的混淆還沒有經(jīng)過完全的測試,如果發(fā)現(xiàn)問題請到GitHub上提 issue 。關(guān)于混淆的問題,還可以參考 Stack Overflow 上的這個問題。
??Flutter中的混淆配置其實是在Android和iOS端分別配置的。

Android

??在<ProjectRoot>/android/gradle.properties文件中添加如下代碼:

extra-gen-snapshot-options=--obfuscate 

??默認情況下,F(xiàn)lutter不會混淆或者縮減Android host,如果你使用了第三方的Java或者Android庫,那么你可能需要減小APK體積,或者防止你的App被反編譯。

  • Step 1:配置Proguard文件
    新建/android/app/proguard-rules.pro文件,然后添加如下配置:
#Flutter Wrapper -keep class io.flutter.app.** { *; } -keep class io.flutter.plugin.**{ *; } -keep class io.flutter.util.**{ *; } -keep class io.flutter.view.**{ *; } -keep class io.flutter.**{ *; } -keep class io.flutter.plugins.**{ *; } 

上面的配置只保護Flutter庫,其他額外的庫(比如Firebase)需要你自己添加配置。

  • Step 2:
    打開/android/app/build.gradle文件,定位到buildTypes處,在release配置中將minifiyEnableduseProguard標志設(shè)為true,同時還需要指向Step1中創(chuàng)建的ProGuard文件:
android {...buildTypes {release {signingConfig signingConfigs.debugminifyEnabled true useProguard trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'} } } 

注意混淆和縮減無用代碼會加長App的編譯時間。

iOS

  • Step 1:修改 "build aot"
    <ProjectRoot>/packages/flutter_tools/bin/xcode_backend.sh文件中添加build aotflag:
${extra_gen_snapshot_options_or_none} 

然后定義這個flag:

local extra_gen_snapshot_options_or_none="" if [[ -n "$EXTRA_GEN_SNAPSHOT_OPTIONS" ]]; then extra_gen_snapshot_options_or_none="--extra-gen-snapshot-options=$EXTRA_GEN_SNAPSHOT_OPTIONS" fi 
  • Step 2:應(yīng)用你的修改
    在你的App的根目錄下運行以下兩條命令:
git commit -am "Enable obfuscation on iOS" flutter 
  • Step 3:更改release配置
    <ProjectRoot>/ios/Flutter/Release.xcconfig中添加下面這行:
EXTRA_GEN_SNAPSHOT_OPTIONS=--obfuscate 

本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權(quán),如您認為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會在5工作日內(nèi)聯(lián)系您,一經(jīng)查實,本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://jstctz.cn/17671.html
相關(guān)APP開發(fā)