iBotPeaches / Apktool

A tool for reverse engineering Android apk files
https://apktool.org/
Apache License 2.0
19.35k stars 3.54k forks source link

[BUG] error: 'specialUse' is incompatible with attribute foregroundServiceType #3632

Open spysolr opened 1 week ago

spysolr commented 1 week ago

Information

  1. Apktool Version (2.9.3) -
  2. Operating System (Windows) -
  3. APK From? ( Other) -
  4. Java Version (not related) -

Stacktrace/Logcat

: error: 'specialUse' is incompatible with attribute foregroundServiceType (attr) flags [camera=64, connectedDevice=16, dataSync=1, location=8, mediaPlayback=2, mediaProjection=32, microphone=128, phoneCall=4].



apktool when i decompile the apk it remove the attribute (Before) android:foregroundServiceType="specialUse" , (after) android:foregroundServiceType="" , i try add the value manually and compile the apk and i got the error above , i think you need to update the list that apktool accept as foregroundServiceType , thanks

<service android:enabled="true" android:foregroundServiceType="specialUse" android:name="com.xxx.yyy.Services">
            <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE" android:value="explanation_for_special_use"/>
        </service>
iBotPeaches commented 1 week ago

Can you post the full stacktrace? I can't tell if this is an aapt1/aapt2/android crash?

spysolr commented 1 week ago

hello , i was using aapt2 , i will try later and use aapt1

spysolr commented 5 days ago

Command: java.exe -jar "C:\Users\username\Downloads\Compressed\APK+Easy+Tool+v1.60+Portable\Apktool\apktool_2.9.3.jar" b -f --use-aapt2 -o "C:\Users\username\Downloads\Compressed\APK+Easy+Tool+v1.60+Portable\2-Recompiled APKs\apk18.apk" "C:\Users\username\Downloads\Compressed\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\apk18"

I: Using Apktool 2.9.3 I: Smaling smali folder into classes.dex... I: Building resources... W: C:\Users\username\Downloads\Compressed\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\apk18\AndroidManifest.xml:77: error: 'specialUse' is incompatible with attribute foregroundServiceType (attr) flags [camera=64, connectedDevice=16, dataSync=1, location=8, mediaPlayback=2, mediaProjection=32, microphone=128, phoneCall=4]. W: C:\Users\username\Downloads\Compressed\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\apk18\AndroidManifest.xml:85: error: 'specialUse' is incompatible with attribute foregroundServiceType (attr) flags [camera=64, connectedDevice=16, dataSync=1, location=8, mediaPlayback=2, mediaProjection=32, microphone=128, phoneCall=4]. W: error: failed processing manifest. brut.androlib.exceptions.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:\Users\username\AppData\Local\Temp\brut_util_Jar_118092470498252102496192252583794485920.tmp, link, -o, C:\Users\username\AppData\Local\Temp\APKTOOL6257404502556299615.tmp, --package-id, 127, --min-sdk-version, 21, --target-sdk-version, 34, --version-code, 331165, --version-name, 3.31.165, --no-auto-version, --no-version-vectors, --no-version-transitions, --no-resource-deduping, --allow-reserved-package-id, --no-compile-sdk-metadata, --warn-manifest-validation, -e, C:\Users\username\AppData\Local\Temp\APKTOOL12693031061409003256.tmp, -0, arsc, -I, C:\Users\username\AppData\Local\apktool\framework\1.apk, --manifest, C:\Users\username\Downloads\Compressed\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\apk18\AndroidManifest.xml, C:\Users\username\Downloads\Compressed\APK+Easy+Tool+v1.60+Portable\1-Decompiled APKs\apk18\build\resources.zip] Compile failed. Please read the log

in AndroidManifest.xml


the problem happen even when using aapt1