Android studioとgradleがappcompat-v7をインポートするのに問題があります。
Srcディレクトリにあるbuild.gradleです。
apply plugin: 'Android'
apply plugin: 'Android-apt'
def AAVersion = '3.0.1'
Android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
versionCode 1
versionName "1.0"
packageName "com.test"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
}
apt {
arguments {
resourcePackageName Android.defaultConfig.packageName
androidManifestFile variant.processResources.manifestFile
}
}
dependencies {
// You must install or update the Support Repository through the SDK manager to use this dependency.
// The Support Repository (separate from the corresponding library) can be found in the Extras category.
compile 'com.Android.support:support-v4:19.0.1'
// You must install or update the Support Repository through the SDK manager to use this dependency.
// The Support Repository (separate from the corresponding library) can be found in the Extras category.
compile 'com.Android.support:appcompat-v7:19.0.1'
// Android annotations
compile "org.androidannotations:androidannotations-api:$AAVersion"
apt "org.androidannotations:androidannotations:$AAVersion"
}
しかし、次のエラーが表示されます
Execution failed for task ':app:prepareComAndroidSupportAppcompatV71901Library'.
> Could not expand Zip '/opt/Android-sdk/extras/Android/m2repository/com/Android/support/appcompat-v7/19.0.1/appcompat-v7-19.0.1.aar'.
問題を解決するにはどうすればよいですか?事前にThx
問題はディレクトリのパーミッションにあるようです。
以下を確認して試してください:
* UNIXを使用している場合は、Android Studioコマンドラインからこのコマンドを実行できます
Sudo chmod -R 777 /your/project/path
これらの手順に従い、ビルドを成功させる
cd Android/
./gradlew clean
私の経験を追加したかっただけです。 kafka jarでこのエラーが発生していました
FAILURE: Build failed with an exception.
* What went wrong:
Could not expand Zip '/home/srangwal/.gradle/caches/modules-2/files-2.1/org.Apache.kafka/kafka_2.9.2/0.8.2.0/f9e44ac2d80afee7d5696f11814e6a65af5a380a/kafka_2.9.2-0.8.2.0.jar'.
> Could not copy Zip entry /home/srangwal/.gradle/caches/modules-2/files-2.1/org.Apache.kafka/kafka_2.9.2/0.8.2.0/f9e44ac2d80afee7d5696f11814e6a65af5a380a/kafka_2.9.2-0.8.2.0.jar!kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class to '/home/srangwal/work-projects/griffin/build/tmp/expandedArchives/kafka_2.9.2-0.8.2.0.jar_7e6mtfrbv2j9f9v18u5gsfe9q/kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class'.
デバッグするために、私はgradleが作成しようとしているファイルに触れようとしました、なぜなら私のすべてのディレクトリの許可がうまくいったからです
touch '/home/srangwal/work-projects/griffin/build/tmp/expandedArchives/kafka_2.9.2-0.8.2.0.jar_7e6mtfrbv2j9f9v18u5gsfe9q/kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class'
touch: cannot touch ‘/home/srangwal/work-projects/griffin/build/tmp/expandedArchives/kafka_2.9.2-0.8.2.0.jar_7e6mtfrbv2j9f9v18u5gsfe9q/kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class’: File name too long
私はubuntuで暗号化されたファイルシステムで作業していたため、このエラーが発生しました暗号化されたファイルシステムは非常に長いファイル名を許可しませんでした。
皆さん、この「COULD」は、あなたのライブラリが私と同じようにgradleバージョンと互換性がないという問題です。だから私はgradleバージョンを削減し、それが機能しました。 gradleバージョンを変更してから、もう一度ビルドすることをお勧めします。それが誰かを助けることを願っています。
同じ問題を抱えている人 が見つかりました。
解決策-temporaryとはいえ-私のプロジェクトのbuild.gradleファイルでGradle 2.1.0から2.0.0にダウングレードすることです。
IntelliJ IDEA 13.1.4および今日のマルチモジュールプロジェクトでプロジェクトをビルドしようとしたときに同じ問題が発生しました。あまり良い解決策ではありませんが、[独立モジュールのコンパイル]さらに、私のプロジェクトのGradle構成はおそらく理想的ではなく(しかし、コマンドラインを介してプロジェクトを正常にビルドできます)、弱い場所をチェックしています。
私にとっての問題は、ファイルが解凍されているフォルダーにありましたto。それを削除してビルドを再度実行すると、ソートされます
私の場合、それはWindowsの許可の問題でした。プロジェクトはCygwinから作成され、すべてのフォルダーに奇妙な権限がありました
私はUbuntuユーザーで、同じ問題がありました。 pyus13の答えに従い、Android-studioおよびAndroid-sdk-linuxに与えるのではなく、project folderに書き込み許可を与えました。また、コマンドSudo chmod 7777 /your/project/path
動作しませんでした。だが、Sudo chmod 757 -R /your/project/path
完璧に機能しました。
実行cd Android && gradlew clean && cd.. && react-native run-Android
私たち自身のライブラリでも同じ問題がありました。最後の.aarには、有効でない.soファイル名が含まれています。
すべての依存関係をクリーンアップし、再構築して問題を修正しました。
Gradleで--stacktraceを有効にすることで問題を発見しました。
Ubuntuユーザーはこちら。マウントされたUSBでライブラリをバックアップした後、この問題に出くわし、バックアップから復帰した後にプロジェクトフォルダーのアクセス許可が変更されたことを見つけました。
アクセスを復元するには、次の手順を実行しました。
AndroidプロジェクトフォルダーへのR/Wアクセスを許可します。Sudo chmod -R 777 ./MyProjectDir
プロジェクトをAndroid Studioで開きます。gradleのインデックス作成が完了したら、ビルドをclean
します。