あー、また gradle 地獄か?と、うんざりしながら、Android Studio 一式をアップデートしたんですわ。
原因もわかりました。
null オブジェクトを trim() してたんで、飛んでたんです。
該当箇所のライブラリをビルドして、実行しても、直らない。
???
???
???
え?なんで?
ビルドしたライブラリを見たら、出来てないんですわ。
目を凝らすと、app-release.aar とかいうものと、app-debug.aar というものが生成されてたんですわ。
また、Android Studio くんがご乱心されたんですわ。
はいはい、aar をリンクするように書き換えれば良いんですよね?
ライブラリのビルドプロジェクト14個全部書き換えて、それを利用してるプロジェクトも全部書き換えるんですよね?
やりましたとも…
さて実行をば…
突然のduplicate class error!!!!
はい、解決方法は
//implementation fileTree(dir: '../../Ref/Java', include: 'hoge.jar') compileOnly fileTree(dir: '../../Ref/Java', include: 'hoge.jar')implementation を compileOnly に書き換えれば、これらの jar ファイルが aar に含まれなくなります。
毎回毎回やってられるかー!
( ⌒ ) l | / ∧_∧ ⊂(#・д・) / ノ∪ しー-J |l| 人ペシッ!! __ \ \  ̄ ̄2019/08/26 追記: gradle のアップグレードに中途半端に失敗する場合がありまして、「Could not get unknown property 'assembleDebug' 」と怒られる事態に陥る事があります。 その場合、下記のように assembleDebug を assemble に変更する事で回避できます。
task cleanDebugJar { def classes = new File('build/outputs/aar/app-debug.aar') if( classes.exists() ) { delete '../../Ref/Java/foo.aar' } } task generateDebugJar(type: Copy, dependsOn: [cleanDebugJar,assemble] ) { //from 'build/intermediates/bundles/debug/' from 'build/outputs/aar/' into '../../Ref/Java/' include('app-release.aar') rename('app-release.aar', 'foo.aar') }
0 件のコメント:
コメントを投稿