2016-05-11 25 views
0

署名付きAPKを生成するときに奇妙な動作が発生しました。 デバッグビルドで実行されている行が署名付きビルドで実行されていません

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 20 
    buildToolsVersion "23.0.3" 
    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 20 
     versionCode 94 
     versionName "2.4.40" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
     } 
    } 

    applicationVariants.all { variant -> 
     variant.outputs.each { output -> 
      output.outputFile = new File(
        output.outputFile.parent, 
        "Build -${variant.versionName}.apk") 
     } 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/NOTICE' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs') 
    compile project(':SalesforceSDK') 
    compile 'com.google.code.gson:gson:2.2.4' 
    compile 'org.roboguice:roboguice:2.0' 
    compile 'com.android.support:support-v4:20.+' 
    compile ('ch.acra:acra:4.5.0'){ 
     exclude group: 'org.json' 
    } 
} 

私は値が正しいかどうかをテストするために、サービスへの数行を追加しましたが、私が見ることができたことは、私はまったく実行されていない追加された行です。私は働いていたLogラインを修正しました。

私はあなたのProGuardの設定がビルドの「リリース」バージョンのすべての「ログ」機能を削除しているので、これがある

protected <T extends ResponseItem> void functionName(BaseResponse<T> response, Uri uri) { 
     Log.d(TAG, "saveOrUpdate"); // did not run 

. 
. 
. 
Log.v(getClass().getName(), "Processed one row. 1"); showed correctly with added "1" 

. 
. 
. 
} 
+1

グラデルファイルplsを投稿すると、質問はかなり曖昧です。 – danypata

答えて

0

を更新されたコード。

あなたはProGuardのファイルをチェックして、あなたはこのまたはこれらの線のように見える何かを見つけるかどうかを確認する必要があります

-assumenosideeffects class android.util.Log { 
    public static boolean isLoggable(java.lang.String, int); 
    public static int v(...); 
    public static int i(...); 
    public static int w(...); 
    public static int d(...); 
    public static int e(...); 
} 

注:あなたがAPKはに公開署名の上に持っているログ出力になっていないことを覚えておいてください(Google Playストアなど)。

関連する問題