3

ジェンキンスとアンドロイドに関する多くのチュートリアルの後、私はまだエラーのないビルドで立ち往生しています。

私はこれらのチュートリアルに従いました:
http://www.vogella.com/articles/Jenkins/article.html https://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test +プロジェクト

私のセットアップとの唯一の違いは、リポジトリからチェックアウトしていないことです。ジョブ自体にコードをインポートしたので、「ジョブ」ディレクトリに 2 つのプロジェクト (通常の Android と androidUnitTest プロジェクト) を持つワークスペースがあります。

ビルドしようとすると、次のログが表示されました。

-build-setup:
[getbuildtools] Using latest Build Tools: 18.0.1
     [echo] Resolving Build Target for MainActivity...
[gettarget] Project Target:   Android 4.0
[gettarget] API level:        14
     [echo] ----------
     [echo] Creating output directories if needed...
     [echo] ----------
     [echo] Resolving Dependencies for MainActivity...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency] 
[dependency] ------------------
[dependency] API<=15: Adding annotations.jar to the classpath.
[dependency] WARNING: unable to write jarlist cache file /Users/Shared/Jenkins/Home/jobs/Jenkins4AndroidTest/workspace/XJenkins/bin/jarlist.cache
     [echo] ----------
     [echo] Building Libraries with 'debug'...
   [subant] No sub-builds to iterate on

-code-gen:
[mergemanifest] Found Deleted Target File
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.'

このエラーが発生します:

/Users/Shared/android-sdks/tools/ant/build.xml:644: java.io.FileNotFoundException: /Users/Shared/Jenkins/Home/jobs/Jenkins4AndroidTest/workspace/XJenkins/bin/AndroidManifest.xml (Permission denied)
        at java.io.FileOutputStream.open(Native Method)

Invoke Ant("./XJenkins/build.xml", target: debug)で使用した相対パスを無視しているように思えます

これに関するヒント、ヒント、または解決策はありますか? それは本当に素晴らしいでしょう!

編集:以前、別のエラーが発生した状況がありました(チュートリアルで説明したように、ant にさらにいくつかのパラメーターを使用しました)。エラーは次のとおりです: /Users/Shared/android-sdks/tools/ant/build.xml:392: Problem: failed to create task or type checkenv...それはより良いアプローチでしょうか?

4

1 に答える 1

1

ソースの所有権の問題のように思えます。

に移動し/Users/Shared/Jenkins/Home/jobs/Jenkins4AndroidTest/workspace/XJenkins/bin/ 、実行します。ls -rtl

次のように表示されます。

-rw-r--r-- 1 jenkins jenkins AndroidManifest.xml 

そうでない場合は、 chownコマンドで jenkins に権限を付与します。私は個人的にすべてのディレクトリでそれを行います

sudo chown -R jenkins:jenkins /Users/Shared/Jenkins

このコマンドは、Jenkins ディレクトリ内のすべてのコンテンツの所有権を Jenkins ユーザーに付与します。

BE CAREFUL : これは、Jenkins が User Jenkins を使用してサービスとして起動されることを前提としています。たとえば、tomcat7 で jenkins を webapp として起動すると、Jenkins ユーザーは tomcat7 になり、tomcat7 に所有権を与える必要があります。

于 2014-06-11T22:45:33.793 に答える