سؤال

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
هل كانت مفيدة؟

المحلول 2

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.

نصائح أخرى

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.

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

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...

  1. 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.

  1. 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.

dexOptions {
    incremental false
    preDexLibraries = false
    jumboMode = false
    javaMaxHeapSize "3g"
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top