ラベル Android Studio の投稿を表示しています。 すべての投稿を表示
ラベル Android Studio の投稿を表示しています。 すべての投稿を表示

2018年9月23日日曜日

implementation 'com.android.support:appcompat-v7:26.1.0'

dependencies節のcompile(非推奨)からimplementationへの置き換え作業にて。

エラー表示がされたまま解除できなかったので試行錯誤の結果
testImplementation 'junit:junit:4.12'
をコメントアウトすることでエラー表示が無くなった。理由は不明
念のためほぼ使用していないtest関連もコメントアウト状態にした。

この時の環境
Android Studio 3.1.4
gradle 4.4
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:4.0.2'

2018年8月11日土曜日

:app:lintVitalRelease FAILED

API Level 28がリリースされ、PlayStore上でAPI制限が上げられてきたのでAPIレベルを変えてリコンパイルする作業でエラーが出てきました。

この手のエラーはデバッグ用のビルドではエラーが出ず、リリース用のビルドでエラーが発生しますね…今回もリリースビルドでエラーが出てしまい、クリーンしたり、toolVersionを最新のものにしたり色々してみましたが変化しませんでした。

:app:lintVitalRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> Could not resolve all files for configuration ':app:lintClassPath'.
   > Could not find com.android.tools.lint:lint-gradle:26.1.4.
     Searched in the following locations:
         file:/C:/Android/SDK/extras/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom
         file:/C:/Android/SDK/extras/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar
         file:/C:/Android/SDK/extras/google/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom
         file:/C:/Android/SDK/extras/google/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar
         file:/C:/Android/SDK/extras/android/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom
         file:/C:/Android/SDK/extras/android/m2repository/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar
         https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.pom
         https://jcenter.bintray.com/com/android/tools/lint/lint-gradle/26.1.4/lint-gradle-26.1.4.jar
     Required by:
         project :app

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 14s
17 actionable tasks: 1 executed, 16 up-to-date

メッセージ中の「lint-gradle:26.1.4」という部分がtoolVersionを変更しても変化しないというのが気になったのですが、正直八方塞がりになってしましました。

こんな時に一番役立つのはやはりAPI Levelを設定したうえで新規プロジェクトを作成して比較するということ。バグではない限り大概これで足りない記述や変更された記述を転記してやれば正常にコンパイルできるようになります。

確認したところ、プロジェクトレベルのbuild.gradle内に
allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
赤い文字の部分が追加されていました。
今までエラーが出ていたプロジェクトに追記したところエラーが出なくなりました。

直接のビルドエラーの原因はgradleのバージョンアップでリポジトリを強制追加しない感じになったのでしょうかね。

2016年1月28日木曜日

Android Studio 2.0 Preview 8へのアップデートが失敗する

Updateing Android Studio 143.2544374 to 143.2563049...

Failed to apply patch

Temp. directory: C:\Users\user\AppData\Local\Temp\

java.io.FileNotFoundException: C:\Users\user\.AndroidStudioPreview2.0\system\log\idea.updater.files.tmp.0\temp.tmp.1\gradle\gradle-2.8\samples\userguide\artifacts\excludesAndClassifiers\repo\org.gradle.test.excludes\shared-1.0.jar (プロセスはファイルにアクセスできません。別のプロセスが使用中です。)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at com.intellij.updater.Utils.copyStreamToFile(Utils.java:127)
    at com.intellij.updater.Utils.copy(Utils.java:97)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.Utils.copy(Utils.java:91)
    at com.intellij.updater.DeleteAction.doBackup(DeleteAction.java:52)
    at com.intellij.updater.PatchAction.backup(PatchAction.java:190)
    at com.intellij.updater.Patch$2.forEach(Patch.java:295)
    at com.intellij.updater.Patch.forEach(Patch.java:360)
    at com.intellij.updater.Patch.apply(Patch.java:291)
    at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
    at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
    at com.intellij.updater.Runner.doInstall(Runner.java:280)
    at com.intellij.updater.Runner.access$000(Runner.java:17)
    at com.intellij.updater.Runner$1.execute(Runner.java:246)
    at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
    at java.lang.Thread.run(Thread.java:745)

2度行ってみたが失敗する。
ほかのアプリケーションも終了させた状態なので、原因不明。

しかも再ダウンロードが常に始まってしまう現状の仕様もどうにかしてほしい気がする。

Java 1.8.0_60
1.8.0.65
java のアップデートも失敗する… Windows 10のBuildはインターネット回線が一時的に細くて更新できないためちょっと古いインサイダービルドですが、それが問題の様な気がする。

2015年12月13日日曜日

gmsのプラグイン?

アプリで不可解なエラーが出始めて色々と確認しています。

2015年10月28日水曜日

インポート文を自動で設定させる

こんな機能いらない。
ほんと要らない。

そもそもALT+ENTERで追加されるだけで十分じゃないか?

と思うわけですが。

こんな設定。
オフですオフ。

参考
Android Studio最速入門~効率的にコーディングするための使い方

コーディングは効率=ケアレスミスをいかに減らすかです。

2015年10月21日水曜日

Error:Unable to load class 'org.gradle.nativeplatform.internal.DefaultBuildType_Decorated'.

よくわからない状態になったらこんなエラーメッセージが表示されるようになってビルドも何も通らなくなってしまった。

Error:Unable to load class 'org.gradle.nativeplatform.internal.DefaultBuildType_Decorated'. Possible causes for this unexpected error include:
  • You are using JDK version 'java version "1.7.0_79"'. Some versions of JDK 1.7 (e.g. 1.7.0_10) may cause class loading errors in Gradle. Please update to a newer version (e.g. 1.7.0_67). Open JDK Settings
  • Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network)
  • The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. Stop Gradle build processes (requires restart)
  • Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.
In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

挙句の果てにJDK 8u60もインストールして 1.8にバージョンアップさせたりしてもやはりだめ(笑)

結局検索してみると、いつものスタックオーバーフローが引っかかり
Android Studio: Gradle Build fails with error: Unable to load class 'com.android.build.gradle.ndk.NdkPlugin' にて
Vinod Khosla「Try cleaning your project and re-build.」
とのこと。プロジェクトのクリーンとリビルドを試しなさい。ってことでエラーがまともに出るようになりました。
以前おかしな挙動が収まらなかったときは、プロジェクト内の自動生成物をほとんど削除すればまともになったのですが、正当法はこちらなんでしょうね。

2015年10月19日月曜日

五里霧中な開発環境

いったい何が問題なのかと言えばGoogle playのライセンスチェックがorg.apache.httpに依存している状態なのにもかかわらず、SDK 23からorg.apache.httpがライブラリから外されるという状態になりました。

2015年10月15日木曜日

ようやくSDK23へ

今までどう足掻いてもダメだったSDK23でのコンパイル。
proguardを使わなければコンパイルは出来てはいたのですが、今まで使えなかったものを使わないというのはなんとも。

エラーメッセージを頼りにいろいろやっていたのですが結局どこかでつまずいてしまうという。
そして摩訶不思議なビルドを繰り返すとまた再度エラーになるとか、ファイル同期の罠にはまりつつ結局導き出した打開策は「SDK22で時期が来るまで待つ」という結論でしたが、マッシュルームが今朝NEXUS9に落ちてきて、手持ちのアプリの不具合もちょこちょこ見つかったので、ビルドを見直すかと…

proguard-rules.proのファイルの設定をいじって結局どこが原因か判断点かなかったのですが、結果を知った今だとなんとなくproguardのログを見ればわかったのかな?って思います。

私の場合は結局のところproguard-rules.proに

-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**

と追加してあげれば大丈夫だったという結論です。
そもそもgoogleさんのライブラリを使うためにいろいろと揺れている感じの設定事項のお話があるようですが、現状のSDK23ベースのproguardでは自前でルールを設定しなさい。という感じなのかな?

不要かもしれないけど追加したルールは

-keep class org.apache.http.** { *; }
-dontwarn org.apache.http.**

-keep class android.net.http.** { *; }
-dontwarn android.net.http.**

-keep class android.support.v7.** { *; }
-keep class android.support.v4.** { *; }

-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**

となっています。使ってないサポートライブラリもあったりしますが、経験上エラーで見たことのあるライブラリのapacheやnetも含めています。

とりあえず一つの問題が解決した(笑)

参考
http://stackoverflow.com/questions/31643339/errorexecution-failed-for-task-apppackagerelease-unable-to-compute-hash
answered Oct 8 at 17:26 のgoRGonさんに感謝!

2015年9月13日日曜日

今度は…

ビルドが通らなくなり今度は
Error:Execution failed for task ':app:dexRelease'.
> com.android.ide.common.process.ProcessException: No files to pass to dex.
といったメッセージが表示されるパターンに陥りました。

2015年9月8日火曜日

またしてもproguardでエラーが止まらない

NDKで遊んでいたプログラムをリリースを行おうとしていたところ、なかなかproguardが言うことを聞いてくれなく、仕方がないのでNDK部分を外してビルドを行っていたところ、ドハマりしました。

NDKで必要な変更を行った部分を元に戻してあげれば戻るはずなのだが、これが本当によくわからない状況に陥ってしまいました。

2015年8月9日日曜日

ネイティブコード

Windows 64bit版のAndroid Studio 1.3.1環境でようやくコンパイル~実行までたどり着けました。
Android Studioのバージョンが上がるたびにまだ実装完了しているという状態ではないのでどうしても設定にいろいろと調整が必要で、具体的にどこの情報が正しいのか判断するのが一番むつかしいです。

ビルド時に表示されるエラーメッセージも現状では参考にならない情報が吐き出されていたりするので、本当に情報に翻弄されてしまいます。

2015年4月10日金曜日

ファイルをオープンする時にダイアログが開いてくれない

Android Studio 1.2 Beta の使い勝手が地味に悪くなっている。
プロジェクトファイルをオープンする時に今までは「新たにウィンドウを開くか、それともこのウィンドウに開くか?」と尋ねられたのにそれがなくなっている。
バグなのか仕様なのかわからないが、ちょっと使い勝手が悪くなっている。

リオープンの時の設定は生きているようなので、そちらを使えということなのだろうか?

2015年3月22日日曜日

Android studioのタイトル表示

結構不思議に思っていた矛盾。

結構前に名前を変えました。もちろんパッケージ名も変えてマニフェストも変えたりして最終的にPlayStoreのアプリの情報も新たに作り直して。(それでも途中のパッケージ名のスペルミスが発覚しているものの、結局現状そのままです(笑))