CastCompanionLibrary-android error code 138 when compiling

╄→гoц情女王★ 提交于 2019-12-25 12:25:09

问题


I have setup CastCompanionLibrary-android as an android library project in Android Studio (0.4.4). I have added the following dependencies to build.gradle

compile 'com.android.support:appcompat-v7:19.0.+'
compile 'com.android.support:mediarouter-v7:19.0.+'
compile 'com.google.android.gms:play-services:4.2.+'

When building I always get this error.

     Execution failed for task ':castcompanion-lib:processDebugResources'.
com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/android-4.4.2/aapt package -f --no-crunch -I /Applications/Android Studio.app/sdk/platforms/android-19/android.jar -M

    /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/build/bundles/debug/AndroidManifest.xml -S 
    /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/build/res/all/debug -A 
    /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/build/bundles/debug/assets -m -J 
    /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/build/source/r/debug -F
    /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/build/libs/castcompanion-lib-debug.ap_ --debug-mode --non-constant-id --output-text-symbols /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/build/bundles/debug
    Error Code: 138

Any help would be greatly appreciated. Thanks.

EDIT:

Switching the build tools to 18.1.1 is now showing me some different errors relating to the processing of the xml resources.

To switch the build tools I have modified my build.gradle to this:

apply plugin: 'android-library'

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 16
        versionCode 1
        versionName "1.0"
    }
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.0.+'
    compile 'com.android.support:mediarouter-v7:19.0.+'
    compile 'com.google.android.gms:play-services:4.2.+'
}

Note: minSdkVersion 9 (if this is lower then manifest merging fails).

At this point it uncovered 2 errors in the resource xml files... To fix these errors I added the following lines to the res/values/strings.xml

<string name="no_media_info">No media info</string>
<string name="media_route_menu_title">Media Router Title</string>

Now when I compile I get 33 errors, all related to resource processing ... it's progress of sorts but still feels like I'm doing something horribly wrong...

For completeness here is the full gradle output:

Executing tasks: [:castcompanion-lib:generateDebugSources, :chromecast-video:generateDebugSources]

Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:castcompanion-lib:preBuild UP-TO-DATE
:castcompanion-lib:preDebugBuild UP-TO-DATE
:castcompanion-lib:preDebugTestBuild UP-TO-DATE
:castcompanion-lib:preReleaseBuild UP-TO-DATE
:castcompanion-lib:prepareComAndroidSupportAppcompatV71901Library UP-TO-DATE
:castcompanion-lib:prepareComAndroidSupportMediarouterV71901Library UP-TO-DATE
:castcompanion-lib:prepareComGoogleAndroidGmsPlayServices4242Library UP-TO-DATE
:castcompanion-lib:prepareDebugDependencies
:castcompanion-lib:compileDebugAidl UP-TO-DATE
:castcompanion-lib:compileDebugRenderscript UP-TO-DATE
:castcompanion-lib:generateDebugBuildConfig UP-TO-DATE
:castcompanion-lib:mergeDebugAssets UP-TO-DATE
:castcompanion-lib:mergeDebugResources
:castcompanion-lib:processDebugManifest UP-TO-DATE
:castcompanion-lib:processDebugResources
:castcompanion-lib:generateDebugSources
:chromecast-video:preBuild UP-TO-DATE
:chromecast-video:preDebugBuild UP-TO-DATE
:castcompanion-lib:compileReleaseNdk UP-TO-DATE
:castcompanion-lib:compileLint
:castcompanion-lib:copyReleaseLint UP-TO-DATE
:castcompanion-lib:mergeReleaseProguardFiles UP-TO-DATE
:castcompanion-lib:packageReleaseAidl UP-TO-DATE
:castcompanion-lib:prepareReleaseDependencies
:castcompanion-lib:compileReleaseAidl UP-TO-DATE
:castcompanion-lib:compileReleaseRenderscript UP-TO-DATE
:castcompanion-lib:generateReleaseBuildConfig UP-TO-DATE
:castcompanion-lib:mergeReleaseAssets UP-TO-DATE
:castcompanion-lib:mergeReleaseResources UP-TO-DATE
:castcompanion-lib:processReleaseManifest UP-TO-DATE
:castcompanion-lib:processReleaseResources UP-TO-DATE
:castcompanion-lib:generateReleaseSources UP-TO-DATE
:castcompanion-lib:compileReleaseJava/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/BaseCastManager.java:685: cannot find symbol
symbol  : variable session_reconnection_attempt
location: class com.google.sample.castcompanionlibrary.R.string
                    dlg.setMessage(context.getString(R.string.session_reconnection_attempt));
                                                             ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/BaseCastManager.java:895: cannot find symbol
symbol  : variable failed_to_connect
location: class com.google.sample.castcompanionlibrary.R.string
            Utils.showErrorDialog(mContext, R.string.failed_to_connect);
                                                    ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/widgets/MiniController.java:127: cannot find symbol
symbol  : variable failed_perform_action
location: class com.google.sample.castcompanionlibrary.R.string
                        listener.onFailed(R.string.failed_perform_action, -1);
                                                  ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/widgets/MiniController.java:129: cannot find symbol
symbol  : variable failed_no_connection_trans
location: class com.google.sample.castcompanionlibrary.R.string
                        listener.onFailed(R.string.failed_no_connection_trans, -1);
                                                  ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/widgets/MiniController.java:131: cannot find symbol
symbol  : variable failed_no_connection
location: class com.google.sample.castcompanionlibrary.R.string
                        listener.onFailed(R.string.failed_no_connection, -1);
                                                  ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/widgets/MiniController.java:147: cannot find symbol
symbol  : variable failed_perform_action
location: class com.google.sample.castcompanionlibrary.R.string
                        listener.onFailed(R.string.failed_perform_action, -1);
                                                  ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:254: cannot find symbol
symbol  : variable casting_to_device
location: class com.google.sample.castcompanionlibrary.R.string
                    R.string.casting_to_device, mDeviceName));
                            ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:541: cannot find symbol
symbol  : variable failed_setting_volume
location: class com.google.sample.castcompanionlibrary.R.string
                                onFailed(R.string.failed_setting_volume,
                                                 ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:824: cannot find symbol
symbol  : variable failed_status_request
location: class com.google.sample.castcompanionlibrary.R.string
                                onFailed(R.string.failed_status_request,
                                                 ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:840: cannot find symbol
symbol  : variable failed_no_connection_trans
location: class com.google.sample.castcompanionlibrary.R.string
            onFailed(R.string.failed_no_connection_trans, NO_STATUS_CODE);
                             ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:843: cannot find symbol
symbol  : variable failed_no_connection
location: class com.google.sample.castcompanionlibrary.R.string
            onFailed(R.string.failed_no_connection, NO_STATUS_CODE);
                             ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:900: cannot find symbol
symbol  : variable failed_to_find_app
location: class com.google.sample.castcompanionlibrary.R.string
                        Utils.showErrorDialog(mContext, R.string.failed_to_find_app);
                                                                ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:904: cannot find symbol
symbol  : variable failed_app_launch_timeout
location: class com.google.sample.castcompanionlibrary.R.string
                        Utils.showErrorDialog(mContext, R.string.failed_app_launch_timeout);
                                                                ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:909: cannot find symbol
symbol  : variable failed_to_launch_app
location: class com.google.sample.castcompanionlibrary.R.string
                        Utils.showErrorDialog(mContext, R.string.failed_to_launch_app);
                                                                ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:970: cannot find symbol
symbol  : variable failed_load
location: class com.google.sample.castcompanionlibrary.R.string
                            onFailed(R.string.failed_load, result.getStatus().getStatusCode());
                                             ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:1016: cannot find symbol
symbol  : variable failed_to_play
location: class com.google.sample.castcompanionlibrary.R.string
            throw new CastException(mContext.getString(R.string.failed_to_play), e);
                                                               ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:1064: cannot find symbol
symbol  : variable failed_to_pause
location: class com.google.sample.castcompanionlibrary.R.string
            throw new CastException(mContext, R.string.failed_to_pause, e);
                                                      ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:1093: cannot find symbol
symbol  : variable failed_seek
location: class com.google.sample.castcompanionlibrary.R.string
                            onFailed(R.string.failed_seek, result.getStatus().getStatusCode());
                                             ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:1122: cannot find symbol
symbol  : variable failed_seek
location: class com.google.sample.castcompanionlibrary.R.string
                            onFailed(R.string.failed_seek, result.getStatus().getStatusCode());
                                             ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:1394: cannot find symbol
symbol  : variable failed_receiver_player_error
location: class com.google.sample.castcompanionlibrary.R.string
                    onFailed(R.string.failed_receiver_player_error, NO_STATUS_CODE);
                                     ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/VideoCastManager.java:1600: cannot find symbol
symbol  : variable casting_to_device
location: class com.google.sample.castcompanionlibrary.R.string
                                    R.string.casting_to_device, getDeviceName()))
                                            ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/dialog/video/VideoMediaRouteControllerDialog.java:141: cannot find symbol
symbol  : variable failed_no_connection_short
location: class com.google.sample.castcompanionlibrary.R.string
            hideControls(true, R.string.failed_no_connection_short);
                                       ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:146: cannot find symbol
symbol  : variable failed_no_connection_trans
location: class com.google.sample.castcompanionlibrary.R.string
                            R.string.failed_no_connection_trans);
                                    ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:150: cannot find symbol
symbol  : variable failed_no_connection
location: class com.google.sample.castcompanionlibrary.R.string
                            R.string.failed_no_connection);
                                    ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:154: cannot find symbol
symbol  : variable failed_perform_action
location: class com.google.sample.castcompanionlibrary.R.string
                            R.string.failed_perform_action);
                                    ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:227: cannot find symbol
symbol  : variable casting_to_device
location: class com.google.sample.castcompanionlibrary.R.string
                mLine2.setText(getString(R.string.casting_to_device,
                                                 ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:237: cannot find symbol
symbol  : variable casting_to_device
location: class com.google.sample.castcompanionlibrary.R.string
                mLine2.setText(getString(R.string.casting_to_device,
                                                 ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:245: cannot find symbol
symbol  : variable casting_to_device
location: class com.google.sample.castcompanionlibrary.R.string
                mLine2.setText(getString(R.string.casting_to_device,
                                                 ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:251: cannot find symbol
symbol  : variable loading
location: class com.google.sample.castcompanionlibrary.R.string
                mLine2.setText(getString(R.string.loading));
                                                 ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/cast/player/VideoCastControllerActivity.java:403: cannot find symbol
symbol  : variable failed_setting_volume
location: class com.google.sample.castcompanionlibrary.R.string
                    R.string.failed_setting_volume);
                            ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/notification/VideoCastNotificationService.java:304: cannot find symbol
symbol  : variable casting_to_device
location: class com.google.sample.castcompanionlibrary.R.string
        String castingTo = getResources().getString(R.string.casting_to_device,
                                                            ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/utils/Utils.java:90: cannot find symbol
symbol  : variable ok
location: class com.google.sample.castcompanionlibrary.R.string
                .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                                           ^
/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/java/com/google/sample/castcompanionlibrary/utils/Utils.java:88: cannot find symbol
symbol  : variable error
location: class com.google.sample.castcompanionlibrary.R.string
        new AlertDialog.Builder(context).setTitle(R.string.error)
                                                          ^
33 errors
 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':castcompanion-lib:compileReleaseJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 26.581 secs

UPDATE:

Well in fact the above error was my own fault, it seems that when I set up the project in Android Studio and allowed Android Studio to merge the auto-generated res folder with the res folder from CastCompanionLibrary-android it did not do an overwrite so I ended up with some incorrect resources.

After replacing the bad res folder with the original one from CastCompanionLibrary-android git repo I now get a compilation error about duplicate resources ...

Execution failed for task ':castcompanion-lib:mergeReleaseResources'.

/Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/res/values/styles_democast.xml: Error: Duplicate resources: /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/res/values/styles_democast.xml:style/TextAppearance.ShowcaseView.Detail.Light, /Users/a/AndroidStudioProjects/ChromecastVideoTest/castcompanion-lib/src/main/res/values/styles_castvideo.xml:style/TextAppearance.ShowcaseView.Detail.Light

Well, onwards we go....

UPDATE:

This is now compiling after basically closing Android Studio and replacing the res folder with the original res folder from CastCompanionLibrary-android.

UPDATE (project setup):

I created a new project and then created two modules. An android library module for CastCompanionLibrary-android and an android module for CastVideos-android. I copied in src and res folders from the original github projects ... the trick here is to close Android Studio first before doing that. Otherwise I think Android Studio tries do some merging of files. The build gradle for CastCompanion library is in the post above... you can safely use

compileSdkVersion 19, 
buildToolsVersion "19.0.1"

if you like... 18 seemed to give better errors regarding failure to process resources.

The CastVideos-android build.gradle is...

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile project(':castcompanion-lib')
    compile files('libs/android-query.0.25.10.jar')
}`

来源:https://stackoverflow.com/questions/21779023/castcompanionlibrary-android-error-code-138-when-compiling

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!