问题
Ran in to this frustrating error today when building/making project, this seems to be since installing Android SDK 22.6 (have tried the 22.6.1 too) using build tools 19.0.1,19.0.2 and 19.0.3. The aapt error is causing R.java not to be generated.
I thought it was something project related as I have another project that builds ok. I've tried cleaning project/workspace, new workspace, reinstall Eclipse and Android SDK, then ported to Android studio gradle which is the error I've included below.
Edit: I also reverted project to previous commit that worked
Anyone ran in to this kind of thing? normally a clean works but not this time.
Error:Execution failed for task ':MyApp:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Users/scottab/dev/adt-bundle-mac-x86_64/sdk/build-tools/19.0.3/aapt package -f --no-crunch -I /Users/scottab/dev/adt-bundle-mac-x86_64/sdk/platforms/android-19/android.jar -M /Users/MyApp/build/manifests/debug/AndroidManifest.xml -S /Users/MyApp/build/res/all/debug -A /Users/MyApp/build/assets/debug -m -J /Users/MyApp/build/source/r/debug -F /Users/MyApp/build/libs/MyApp-debug.ap_ --debug-mode --custom-package com.myapp.android --output-text-symbols /Users/MyApp/build/symbols/debug
Error Code:
138
回答1:
This is a bug in AAPT, where it crashes when it sees a reference to a nonexistent resource. Unfortunately, it requires you to go through your resource files to try to spot the error, as it tends to not give you useful information.
This is written up in https://code.google.com/p/android/issues/detail?id=61308 and if you look there you'll find examples of what other users have fixed to solve the crash.
回答2:
I'm a little late, but if you originally included appcompat in your project and later removed it, there's probably a stale reference in your menu xml.
Here's what menu looks like with appcompat
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
app:showAsAction="never" />
See the app:showAsAction="never"
? That's what the issue was for me. Switching it back to android:showAsAction="never"
fixed it for me.
回答3:
This is what I coded to get over the error:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:blogreader="http://schemas.android.com/apk/res-auto "
>
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
blogreader:showAsAction="never" />
</menu>
where in blogreader is the name of the application.
Reference: Adding action buttons
回答4:
Today I faced the same problem, but no answer here, nor comment, helped me.
At the end there were 2 problems, probably one caused by the other...
My antivirus (Avast) detected "threat" from one SDK file... so probably my Android Studio thought there was no inclusion of AppCompat library in my "build.graddle" file and added a second one automatically. It looked like this:
compile "com.android.support:appcompat-v7:21.0.+" compile "com.android.support:appcompat-v7:21.+"
So I deleted one of them and i got R class back, but "appt" error was still there.
- Aparently my dear Avast took some exe's from SDK folder, so I started "SDK Manager". In the manager, the "SDK Compile Tools" I was using (2.1.1 I think) was unckecked (maybe failed at checksum comarison), so I re-installed it.
And VOILA!, It worked and now I'm happy.
回答5:
dexOptions {
incremental false
preDexLibraries = false
jumboMode = false
javaMaxHeapSize "3g"
}
来源:https://stackoverflow.com/questions/22485209/aapt-error-138-processdebugresources