问题
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