2017-05-08 31 views
1

DexGuard最近切換到許可證系統,每個應用程序只有1個許可證。當我使用applicationIdSuffix其他buildtypes這導致了這個問題:帶應用程序的DexGuardIdSuffix

從AndroidManifest.xml中包文件的文件名 [com.example.myapp.debug]不匹配的包名 [融爲一體。 example.myapp]從您dexGuard許可證 [路徑/到/ dexguard-LICENSE.TXT]

是否有解決辦法或選項可用呢?

回答

0

所以,最終GuardSquare更新了我們的許可證,以便我們可以使用'.debug'applicationIdSuffix與l相同icense。正如Gabriele在回答中所建議的那樣,您可以關閉DexGuard或購買第二個許可證。

1

AndroidManifest.xml文件[com.example.myapp.debug]中的軟件包名稱與DexGuard許可證中的軟件包名稱[com.example.myapp]不匹配[path/to/dexguard-license .TXT]

這意味着你可以使用DexGuard只包名com.example.myapp,你不能用它來包裝com.example.myapp.debug

您可以:

  • 購買第二許可爲其他包
  • 禁用DexGuard的調試版本類型

對於第二個選項:

buildTypes { 
     release { 
      proguardFile getDefaultDexGuardFile('dexguard-release.pro') 
      proguardFile 'dexguard-project.txt' 

      signingConfig signingConfigs.release 
     } 
     debug { 
      //nothing 
     } 
    } 
+0

我們已經郵寄了DeSGuard背後的公司GuardSquare,並且他們能夠爲許可證添加後綴。但我很好奇你的第二個選項,禁用調試版本的dexguard。這可能嗎? – dumazy

+0

@dumazy更新了答案。 –

+0

好的,我在面料方面遇到了不同的問題。要將混淆文件上載到Fabric/Crashlytics,您需要在Fabric插件之前應用Dexguard插件。但隨後Fabric將嘗試crashlyticsStoreDeobsDebug和崩潰,因爲「任務帶路徑'dexguardDebug'在項目中找不到」 – dumazy