2013-12-11 4 views
0

APK 멀티 도구 (apktool)를 사용하여 AndroidManifest.xml을 약간 변경하려고합니다. 나는 분해 및 변경을 할 수 있어요,하지만 난 새로운 APK로 재 조립 할 때, 나는 오류 얻을 :APK 파일에서 AndroidManifest.xml을 변경하는 데 도움이 필요합니다.

<style name="Preference.SwitchPreference"> 
    <item name="android:layout">@layout/preference</item> 
    <item name="android:widgetLayout">@layout/preference_widget_switch</item> 
</style> 
: 나는 styles.xml에서 라인이라고 생각

error: Error retrieving parent for item: No resource found that matches the given name 'Preference'. 

-------------------------------------------------------------------------- 
|Tue 12/10/2013 -- 23:18:05.27| 
-------------------------------------------------------------------------- 
java version "1.7.0_13" 
Java(TM) SE Runtime Environment (build 1.7.0_13-b20) 
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode) 
I: Baksmaling... 
I: Loading resource table... 
I: Loaded. 
I: Decoding AndroidManifest.xml with resources... 
I: Loading resource table from file: C:\Users\Sean\apktool\framework\1.apk 
I: Loaded. 
I: Renamed manifest package found! Fixing... 
I: Decoding file-resources... 
I: Decoding values */* XMLs... 
I: Done. 
I: Copying assets and libs... 
I: Checking whether sources has changed... 
I: Smaling... 
I: Checking whether resources has changed... 
I: Building resources... 
C:\Users\Sean\Downloads\APK-Multi-Tool\other\..\projects\Test.apk\res\values\styles.xml:105: error: Error retrieving parent for item: No resource found that matches the given name 'Preference'. 
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 13, --target-sdk-version, 17, -F, C:\Users\Sean\AppData\Local\Temp\APKTOOL1118131662295957481.tmp, -0, arsc, -I, C:\Users\Sean\apktool\framework\1.apk, -S, C:\Users\Sean\Downloads\APK-Multi-Tool\other\..\projects\Test.apk\res, -M, C:\Users\Sean\Downloads\APK-Multi-Tool\other\..\projects\Test.apk\AndroidManifest.xml] 
    at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358) 
    at brut.androlib.Androlib.buildResources(Androlib.java:283) 
    at brut.androlib.Androlib.build(Androlib.java:206) 
    at brut.androlib.Androlib.build(Androlib.java:176) 
    at brut.apktool.Main.cmdBuild(Main.java:228) 
    at brut.apktool.Main.main(Main.java:79) 
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 13, --target-sdk-version, 17, -F, C:\Users\Sean\AppData\Local\Temp\APKTOOL1118131662295957481.tmp, -0, arsc, -I, C:\Users\Sean\apktool\framework\1.apk, -S, C:\Users\Sean\Downloads\APK-Multi-Tool\other\..\projects\Test.apk\res, -M, C:\Users\Sean\Downloads\APK-Multi-Tool\other\..\projects\Test.apk\AndroidManifest.xml] 
    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:357) 
    at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336) 
    ... 5 more 
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 13, --target-sdk-version, 17, -F, C:\Users\Sean\AppData\Local\Temp\APKTOOL1118131662295957481.tmp, -0, arsc, -I, C:\Users\Sean\apktool\framework\1.apk, -S, C:\Users\Sean\Downloads\APK-Multi-Tool\other\..\projects\Test.apk\res, -M, C:\Users\Sean\Downloads\APK-Multi-Tool\other\..\projects\Test.apk\AndroidManifest.xml] 
    at brut.util.OS.exec(OS.java:89) 
    at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:355) 
    ... 6 more 

이 문제를 해결하는 방법에 대한 어떤 생각 : 여기

전체 오류 로그입니까? 코드를 변경하지 않아도 코드를 디 컴파일 및 컴파일하지 않고도 어떻게 든 APK를 빌드 할 수 있습니까? 감사.

답변

1

약간의 트릭이 : styles.xml에 새로운 스타일을 추가

<style name="Preference" /> 
+0

와우, 내가 그 일을 생각합니다. 너는 신이다. –