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

2015年10月17日土曜日

2015年3月16日月曜日

not available for offline mode

プロジェクトのgradleのdependenciesに新たにライブラリを追加したとき、

Failed to resolve:~
not available for offline mode
と警告が出たら


Android Studio > Preference > GradleのOffline workのチェックを外して、オフラインモードを解除して、再度ビルドしてみる

2015年1月30日金曜日

「パッケージファイルに正しく署名されていません」にハマった

署名したapkをPlayストアにアップしたら、一部の端末で
「パッケージファイルに正しく署名されていません」が表示され、インストール不可の状態になった。


開発環境

Android Studio : 1.0.1
Ubuntu : 14.04
Java : OpenJDK1.7.0_65

原因

jarsignerの署名方式のデフォルト値がJDK6までとJDK7以降で変更されているようです。
そのため、コマンド実行でJDK7を使用して署名を行ったため「パッケージファイルに正しく署名されていません」と表示される端末が発生しました。

参考:
JDK7でAndroidアプリをリリースビルドする方法
Androidアプリをリリースしたら「パッケージファイルに正しく署名されていません」と表示されて焦ったでござる

解決方法

build.gradleに署名用の記述追加(OpenJDK1.7.0_65のままで大丈夫でした)
参考:AndroidStudio で APK の署名の設定を gradle.properties に記述する

gradle.propertiesに署名関連の設定を記述することで、
gitignoreでgradle.propertiesをgit管理の対象外にすると、署名ファイルのパスワードなどをアップせずに済むので、とても良いです。

gradle.propertiesに記述する
storeFile=/path/to/your.keystore

は、キーストアファイルのある場所が、/home/ysakaguchi/android/release/android.keystoreなら
storeFile=/android/release/android.keystore
となります。

確認方法

deploygateに修正したapkをアップして、JDK7のデフォルト署名方式だとうまくインストールできなかった端末で、再度インストールを試みたところうまくいくことも、先に確認できました。
「パッケージファイルに正しく署名されていません」が発生する端末は、どれなのかまでは絞れてないですが、SHARP端末はなるっぽい?かもです。
手元にIS05があったので、本件の現象が再現できました。
Xperiaは署名方式が違ってもダウンロードできていました。


ちなみに今回の件が分かったアプリはこちらになります↓

2014年12月13日土曜日

Android Studioを0.8.14 → 1.0.0 に変更でハマったこと

環境:OS X Mavericks 10.9.5
Android Studio
0.8.14 → 1.0.0に変更


ダウンロード


  • build.gradleのAndroid Gradle Plugin のバージョンの記述が自動で書き換えられた(0.12.+ → 1.0.0)
  • gradle/wrapper/gradle-wrapper.propertiesが自動更新された
  • gradle/wrapper/gradle-wrapper.jarが自動更新された

以下、ハマったところ

mavenrepoのエラー

Error:Gradle DSL method not found 'mavenrepo()’

対処

mavenRepo urls: [
    "http://hogehoge” 
]
maven {
    url 'http://hogehoge'
}

buildTypesでエラー

Android Gradle Plugin 0.14.0でプロパティの名称が変わっている
  • BuildType.runProguard -> minifyEnabled
  • BuildType.zipAlign -> zipAlignEnabled
  • BuildType.jniDebugBuild -> jniDebuggable
  • BuildType.renderscriptDebug -> renderscriptDebuggable
  • ProductFlavor.renderscriptSupportMode -> renderscriptSupportModeEnabled
  • ProductFlavor.renderscriptNdkMode -> renderscriptNdkModeEnabled

Compileの記述エラー

Error:Could not find property on project ‘:(プロジェクト名)’

対処

tasks.withType(Compile) { options.encoding = "UTF-8" }
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }

wrapperのエラー

Error:Cannot create task of type “Wrapper” as it does not implement the Task interface.

Android Studioのbuild.gradleには、Gradleラッパーの生成用のタスクの記述はにいらなかった!

対処

下記記述削除

task wrapper(type: Wrapper) {
gradleVersion = ‘1.10'
}


他参考

Android StudioのバージョンとAndroid Gradle Pluginのバージョンと


2014年9月18日木曜日

Gradleのビルド時間が急に遅くなり、GroovyのプラグインのON/OFFを設定し直すと、ビルド時間が戻った。

Android Studio (Bata) 0.8.9を利用

ビルド時間の増大の原因を調べていたら、Groovyのプラグインが無効化になりエラーが発生                           

Plugin Error
Problems found loading plugins: Plugin "Gradle" was not loaded: required plugin "Groovy" is disabled. Plugin "Android Support" was not loaded: required plugin "Groovy" is disabled. Plugin "Google Cloud Tools For Android Studio" was not loaded: required plugin "Groovy" is disabled.

経緯

Gradleのビルド時間が急に遅く(1分→10分へ)なったので、いろいろ調べていたら、
Event Logにエラーが1件(おそらくGroovyについてだったような・・・)あり、
エラー文言のリンクを選択すると、Groovyのプラグインが無効になってしまったため、
上のエラーが発生


対処方法

1.Plugin managerを開く

Configure > Plugins で開く

何かプロジェクトを開いているときは、
  • Mac → Android Studio > Preferences > Plugins
  • Ubuntu → File > Settings... > Plugins
で開けます。


2.Groovyをチェック

Groovyのプラグインが無効状態になっているので、チェックボックスにチェックを入れます。

3.Groovyをチェックして設定完了にしようとしたら、エラーに

GroovyのプラグインにチェックしてApplyすると、
Unable to apply changes: plugins "Android Support", "Google Cloud Tools For Android Studio", "Gradle" won't be able to load.
とエラーが出るときがあります。

赤くなっている
  • Android Support
  • Google Cloud Tools For Android Studio
  • Gradle
のチェックを一旦外して、再度チェックし、Applyボタンを選択すると、うまく設定できました。

4.アプリのGradleのcleanを実行し、ビルドする

cleanからのビルドだと、1分くらいでできるように戻りました。
差分ビルドだと十数秒程度になり、前より早くなりました。



2014年7月28日月曜日

gradleで生成されるapkファイルの種類

  • ○○-release-unsigned.apk … 署名とZipAlignがされていないapkファイル
  • ○○-release-unaligned.apk … ZipAlignがされていないapkファイル
  • ○○-release.apk … 署名とZipAlignがされているapkファイル ※GooglePlayにアップするときはこれを使う※

2015/1/27 追記
手動でZipAlignと署名をするときは、署名→ ZipAlign の順番で行う。

2015/2/7 追記
apk署名関連の記事→http://umerepo.blogspot.jp/search/label/apk%E7%BD%B2%E5%90%8D


2014年7月22日火曜日

gradleでgreenDaoのdaoGeneratorを実装

ここ→http://kyokomi.hatenablog.com/entry/2013/12/23/200637
を参考にgradleでgreenDaoのdaoGeneratorを実装しようとして、ハマってしまった。


ハマったところ

  • 最後に生成されるはずのDaoファイルがメニューバーの「Sync Project with Gradle Files」でgradle buildでは生成されない

解決方法

  • Gradle > All tasks > プロジェクト名 > :DaoGenerator > daoGenerator をダブルクリックして、daoGenerator用のbuild.gradleを直接実行させる


















daoGeneratorCleanの方を実行すると、Daoファイルが削除されます。