2017-10-26 52 views
0

Androidスタジオ3.0にアップグレードしました。 OS Xの開発マシン(IDEとコマンドラインの両方)でビルドが正常に動作しますが、Linuxビルダー(コマンドライン)では失敗します。Androidプラグイン3.0にアップグレードした後にGradleビルドが失敗する

私たちのプロジェクトはcommon(Java)モジュールとlib(C++)モジュールに依存するappモジュールを持っています。 libモジュールはCMakeで構築され、SWIGを使用してC++コードのJava APIを生成します。

ビルダーで:app:javaPreCompileReleaseタスクは:lib:generateJsonModelReleaseより前に実行され、CMakeビルドが開始されます。この結果、appモジュールでコンパイルエラーが発生します。これは、Javaクラスが012akeCMakeビルドで生成されていないためです。

この依存関係を強制する方法はありますか?なぜプラットフォーム/バージョン間で動作が異なるのかわかりません。 CMakeのは、開始を構築

出力

:clean UP-TO-DATE :app:clean UP-TO-DATE :lib:externalNativeBuildCleanDebug :lib:externalNativeBuildCleanRelease :lib:clean UP-TO-DATE :common:clean UP-TO-DATE :app:preBuild UP-TO-DATE :lib:preBuild UP-TO-DATE :lib:preReleaseBuild UP-TO-DATE :lib:checkReleaseManifest :lib:processReleaseManifest :common:preBuild UP-TO-DATE :common:preReleaseBuild UP-TO-DATE :common:checkReleaseManifest :common:processReleaseManifest :app:preReleaseBuild :lib:compileReleaseAidl :common:compileReleaseAidl :app:compileReleaseAidl :lib:packageReleaseRenderscript NO-SOURCE :common:packageReleaseRenderscript NO-SOURCE :app:compileReleaseRenderscript :app:checkReleaseManifest :app:generateReleaseBuildConfig :app:prepareLintJar :app:generateReleaseResValues :app:generateReleaseResources :lib:compileReleaseRenderscript :lib:generateReleaseResValues :lib:generateReleaseResources :lib:packageReleaseResources :common:compileReleaseRenderscript :common:generateReleaseResValues :common:generateReleaseResources :common:packageReleaseResources :app:mergeReleaseResources :app:createReleaseCompatibleScreenManifests :app:processReleaseManifest :app:splitsDiscoveryTaskRelease :lib:platformAttrExtractor :common:platformAttrExtractor :lib:generateReleaseBuildConfig :lib:prepareLintJar :lib:javaPreCompileRelease :lib:processReleaseJavaRes NO-SOURCE :common:generateReleaseBuildConfig :common:prepareLintJar :common:javaPreCompileRelease :common:processReleaseJavaRes NO-SOURCE :app:compileReleaseNdk NO-SOURCE :app:mergeReleaseShaders :app:compileReleaseShaders :app:generateReleaseAssets :lib:mergeReleaseShaders :lib:compileReleaseShaders :lib:generateReleaseAssets :lib:mergeReleaseAssets :common:mergeReleaseShaders :common:compileReleaseShaders :common:generateReleaseAssets :common:mergeReleaseAssets :app:mergeReleaseAssets :app:mergeReleaseJniLibFolders :lib:generateJsonModelRelease

を構築する作業


...。私は方法を見つけることができませんでしたが

答えて

0

を構築CMakeの中で生成されるべきで不足しているJavaクラスについてのコンパイルエラーを...出力

:clean UP-TO-DATE :app:clean UP-TO-DATE :lib:externalNativeBuildCleanDebug :lib:externalNativeBuildCleanRelease :lib:clean UP-TO-DATE :common:clean UP-TO-DATE :app:preBuild UP-TO-DATE :lib:preBuild UP-TO-DATE :lib:preReleaseBuild UP-TO-DATE :lib:checkReleaseManifest :lib:processReleaseManifest :common:preBuild UP-TO-DATE :common:preReleaseBuild UP-TO-DATE :common:checkReleaseManifest :common:processReleaseManifest :app:preReleaseBuild :lib:compileReleaseAidl :common:compileReleaseAidl :app:compileReleaseAidl :lib:packageReleaseRenderscript NO-SOURCE :common:packageReleaseRenderscript NO-SOURCE :app:compileReleaseRenderscript :app:checkReleaseManifest :app:generateReleaseBuildConfig :app:prepareLintJar :app:generateReleaseResValues :app:generateReleaseResources :lib:compileReleaseRenderscript :lib:generateReleaseResValues :lib:generateReleaseResources :lib:packageReleaseResources :common:compileReleaseRenderscript :common:generateReleaseResValues :common:generateReleaseResources :common:packageReleaseResources :app:mergeReleaseResources :app:createReleaseCompatibleScreenManifests :app:processReleaseManifest :app:splitsDiscoveryTaskRelease :lib:platformAttrExtractor :common:platformAttrExtractor :common:processReleaseResources :lib:processReleaseResources :app:processReleaseResources :app:generateReleaseSources :lib:generateReleaseBuildConfig :lib:prepareLintJar :lib:generateReleaseSources :lib:javaPreCompileRelease :lib:compileReleaseJavaWithJavac :lib:processReleaseJavaRes NO-SOURCE :lib:transformClassesAndResourcesWithPrepareIntermediateJarsForRelease :common:generateReleaseBuildConfig :common:prepareLintJar :common:generateReleaseSources :common:javaPreCompileRelease :common:compileReleaseJavaWithJavac :common:processReleaseJavaRes NO-SOURCE :common:transformClassesAndResourcesWithPrepareIntermediateJarsForRelease :app:javaPreCompileRelease

を構築失敗に成功


を完了構築ビルドを正常に実行するには、私は2つのステップで実行することができました:

./gradlew lib:assembleRelease 
./gradlew assembleRelease 
関連する問題