0

Dynatrace Android エージェントを使用しています。インストルメンテーションの一部として、ApkSigner.jar を使用して .apk に署名する必要があります。Android Gradle プラグインを 4.0.1 から 4.1.0 に更新した後、署名プロセスが次の例外で失敗し始めました。

line 134: 51916 Segmentation fault: 11  "${TOOLS_OS}/zipalign" -p -f 4 
"${INSTRUMENTED_APK}" "${ZIPALIGNED_APK}"
Zipaligning completed - Instrumented and zipaligned APK: 
dynatrace/../app/build/outputs/apk/release/app-release/dist/app- 
release-zipaligned.apk
Signing non-release APK ...

Exception in thread "main" java.io.IOException: Failed to deduce Min API Level from APK's AndroidManifest.xml. Use --min-sdk-version to override.
    at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:215)
    at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:93)
Caused by: java.util.zip.ZipException: zip file is empty
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:225)
    at java.util.zip.ZipFile.<init>(ZipFile.java:155)
    at java.util.zip.ZipFile.<init>(ZipFile.java:169)
    at com.android.apksigner.ApkSignerTool.getMinSdkVersionFromAndroidManifest(ApkSignerTool.java:779)
    at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:213)
    ... 1 more

AGP バージョンをロールバックすると、すぐに問題がなくなります。

署名が失敗する原因は何ですか? --min-sdk-versionparamを使用せずに修正するにはどうすればよいですか?

4

1 に答える 1

0

Dynatrace フォーラムでのこの質問と非常によく似ています。前提条件を確認し、このガイドに従ってDynatrace Android Gradle プラグイン バージョン 8.x に移行してください。

于 2021-02-10T14:15:20.960 に答える