web-dev-qa-db-ja.com

非ルートシェルでAndroid SDKマネージャーを起動するにはどうすればよいですか?

ユーザーmyuserとしてログインします。
rootになって実行するにはAndroid SDKマネージャー:

su -  
/var/lib/jenkins/Android-sdk-linux_x86/Android  

すべては順調です。

次に、ユーザーjenkinsになり、Android SDK manager:

su - jenkins  
/var/lib/jenkins/Android-sdk-linux_x86/Android  

で失敗する

SDLの初期化に失敗しました。理由は次のとおりです。使用可能なビデオデバイスがありません

ログアウト。ユーザーjenkinsとしてログインします。

ユーザーjenkinsとして:

/var/lib/jenkins/Android-sdk-linux_x86/Android  

すべては順調です。

だから、私がsu - jenkins動作しませんが、jenkinsとしてgnomeにログインすると動作します。

Android非ルートシェルでSDKマネージャーを起動するにはどうすればよいですか?

3
user19496

許可の問題のように聞こえます。

ファイルの権限を確認してください。 SDKパスの書き込み権限を持つ所有者またはグループの一部であることを確認してください。バイナリには、SDKパスの読み取りと書き込みの許可も必要です。

adbは、rootとして実行しなければならなかった唯一のサービスです。その目的は、プラグインされているデバイスを見つけて管理できるようにすることです。udevでルールを設定することで、それを回避する方法もあります。

2
Trev