web-dev-qa-db-ja.com

署名付きapkを生成するとエラーが発生する

私はGoogle Playで自分のapkをアップロードしようとしましたが、「デバッグ可能なAPKをアップロードしました。セキュリティ上の理由から、Google Playで公開する前にデバッグを無効にする必要があります。デバッグ可能なAPKの詳細をご覧ください。」

それから私は私のマニフェストにAndroid:debuggable="false"を書き、そして再試行しました。私は同じエラーに遭遇したので、 "私は自分のモジュールからビルドバリアントを解放して再びapkを生成するように選択しました、しかしこれはこのエラーを生成しました:

Error:Gradle: Execution failed for task ':app:lintVitalRelease'.
Lint found fatal errors while assembling a release target.
  To proceed, either fix the issues identified by lint, or modify your build script as follows:
  ...
  Android {
      lintOptions {
          checkReleaseBuilds false
          // Or, if you prefer, you can continue to check for errors in release builds,
          // but continue the build even when errors are found:
          abortOnError false
      }
  }
  ...
185
user3716366

糸くずチェックをオフにすることはお勧めできません。理由はあります。代わりに、エラーの内容を確認して修正してください。

エラーレポートは[app module]/build/reports/lint-results-yourBuildName-fatal.htmlに保存されます。このファイルをブラウザで開いてエラーについて読むことができます。

Gradleがエラーレポートが生成される場所をもう少し明確にすることができればいいでしょう。

314
Graydyn Young

私はこの問題を抱えていて追加することによってそれを回避しました

lintOptions { 

    checkReleaseBuilds false

}

build.gradeセクション内のAndroid{ }ファイルに。

163
naile

正確なエラーを調べたい場合は、プロジェクトの次のパスに移動します。/app/build/reports/lint-results-release-fatal.html(または.xml)。最も簡単な方法は、xmlファイルに移動した場合、Javaクラスまたはxmlファイルのどちらにあるエラーの位置も含めて、エラーの内容を正確に示すことです。糸くずチェックをオフにすることはお勧めできません。理由はあります。代わりに、に行きます。

    /app/build/reports/lint-results-release-fatal.html or 
    /app/build/reports/lint-results-release-fatal.xml

修正してください。

49
Josi

すべてのstring.xmlファイルにすべての翻訳を定義したことを確認してください。

46
Roberto

あなたが問題がどこにあるか見つけようとするかもしれない場合、私は私のプロジェクトの次のパスで私のものを見つけました:/ app/build/reports/lint-results-release-fatal.html(または.xml).

お役に立てれば!

36
Pecolyte Wang

Android Studioから署名付きAPKを作成するときに同じ問題に直面しました。 build.gradleファイル内のAndroid {}ファイルを少し変更するだけです)

lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
32
Dhruv Raval
***Try this***

 buildTypes {
        release {
            lintOptions {
                disable 'MissingTranslation'
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            signingConfig signingConfigs.release
        }
    }
19
Amit raj

あなたはgradle buildタブからアセンブルを選択することに関するより多くの情報を見つけることができます: enter image description here

14

App.gradleファイルでこれら3行を試してください。

Android {
lintOptions {
    checkReleaseBuilds false
    // Or, if you prefer, you can continue to check for errors in release builds,
    // but continue the build even when errors are found:
    abortOnError false
}
9
Rehan Sarwar

エラー詳細の見方

Anylyze - >コード検査

enter image description here

検査結果にエラーが表示されます。

enter image description here

私の場合は、Google IAPの未解決のjavadoc参照が原因でビルドが失敗しました。

8
Mikhail

私の問題は翻訳が欠けていたことです。 settings.xmlが必要でないため翻訳されていないので、文字列に "translatable =" false "を追加する必要がありました。

この文字列は翻訳不要です

7
Harsh Masand

私の問題は翻訳が欠けていたことです。 settings.xmlが必要でないため翻訳されていないので、文字列に "translatable =" false "を追加する必要がありました。

<string translatable="false" name="stringname">This string doesn't need translation</string>
6
tomDev

こんにちはみんなこれは私のために働いた、私はちょうどこのように私のBuildTypesを変更します:

buildTypes {
        release {
            Android {
                lintOptions {
                    checkReleaseBuilds false
                    // Or, if you prefer, you can continue to check for errors in release builds,
                    // but continue the build even when errors are found:
                    abortOnError false
                }
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
5

以下のコードを試してください

buildTypes {
    release {
        lintOptions {
            disable 'MissingTranslation'
            checkReleaseBuilds false
            abortOnError false
        }
        minifyEnabled false
        signingConfig signingConfigs.release
    }
}

Windows - >参照 - > Android-> lintエラーチェック。

un tick完全なエラーを実行.......

enter image description here

2
Suranga

build.gradleに移動します(モジュール:app)

lintOptions {
    checkReleaseBuilds false
    // Or, if you prefer, you can continue to check for errors in release builds,
    // but continue the build even when errors are found:
    abortOnError false
}
2
Kaiffi

この問題を解決するbuild.gradle(app)ファイルでmain Androidの{{{{}}}内にファイルを使用

  buildTypes {
        release {
            lintOptions {
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
2
Keshav Gera

マニフェストからそのステートメントを完全に削除してください。Eclipseはそれを即座に処理します。

1
Eran Goldin
    lintOptions {
      checkReleaseBuilds false
      abortOnError false
    }

上記のコードはそれを無視することによって問題を解決することができます、しかしそれは同様にアプリをクラッシュさせるかもしれません。

良い答えは次のリンクにあります。

署名付きapkを生成するとエラーが発生します

0
Josi

私の場合、この問題はGoogle Playに必要な最小ターゲットAPIレベルに関連していました。 26未満に設定されています。

最小ターゲットAPIレベルを26に設定すると、問題は解消されました。

0
mdicosimo

あなたはエラーの上にapk上書きを生成するためにプロジェクトレベル許可ファイルにコードを追加するべきです

0
Kamal