緊急メモ:AndroidStudio3.2
AndroidStudioがまた迷惑なバージョンアップ
AndroidStudioが3.2にバージョンupしこれまでのものが動かなくなりました。
プロジェクト1個をなんとか動作させましたが、同じ方法をとったはずの別プロジェクトは動作にいたりませんでした。
ここに書くのは正しい方法ではないかもしれませんが、忘れない内に書いておきます。
モジュール定義が必要になりました。
モジュール定義が必要となりました。 モジュールが一体何なのかは今のところさっぱりわかりません。 JDK9で導入されたモジュールとはまたべつのもののようです。
モジュール作成手順は以下の通り。
Project/(プロジェクト)で右クリック
[Module]
->「CreateNewModule(new Module」)窓が出る
AndroidModuleを選択
[Next]
->「CreateNewModule(AndroidLibrary)」窓が出る
[Finish]
->「AddFilesToGit」が出る
[OK]
その上でモジュール参照指定を「Run」メニューから行います。
「Run」メニュー
EditConfiguration
->Runウィンドウが出る
Default
AndroidApp
Module選択で多分"app"がリスト内にある
("app"なんて名前はどこでも設定したつもりはないが)
appを選択し[apply]
[Close]
Cannot set the value of read-only property 'outputFile'
このエラーは3.0でも出るやつです。対処法は「基本」は同じですが注意点があります。
Project/(プロジェクト)/app/src/build.gradle
applicationVariants.all { variant ->
if (variant.buildType.name.equals("release")) {
variant.outputs.all {
def versionName = variant.versionName
def date = new java.text.SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date())
def newName = "apk_v${versionName}_${date}.apk"
outputFileName = newName
}
}
}
※:text.SimpleDateFormatの.で行を分割してはいけません
※:apk_vはそれぞれのAPPごとに設定
Could not find com.android.tools.build:aapt2:3.2.
次の定義が必要です。
Project/(プロジェクト)/build.gradleに
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
前項とは別のbuild.gradleファイルであることに注意が必要です!!!
Buil APK(s)で WARNING: Configuration 'compile' is obsole...
エラーではないようですが、次の様に修正します。
app/build.gradleの
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
を
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:22.2.0'
}
Generate signed Bundle/APKの署名が失われてしまっている場合
署名情報が失われてしまっている場合、新たな署名を行うしかないようです。
Generate signed Bundle/APKでLint found fatal errors ...
次のエラーが出る場合
Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
...
app/build.gradleのAndoid{...}に次の記述を追加します。
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
Android端末で「アプリがインストールされまていません」
旧アプリを置き換えようとするとAndroid端末で「アプリがインストールされまていません」が出る場合、 署名情報が旧版と異なることが原因の可能性があります。
Android端末の旧アプリを一旦削除して、ダウンロードしなおします。
アプリ公開で、アプリの対象 API レベルを 26 以上に変更してください
app/build.gradleのバージョン番号を書き換えます。
app/build.gradle
compileSdkVersion 27
buildToolsVersion '28.0.2'
defaultConfig {
applicationId "jp.co.hiuric.hisupplemetro2"
minSdkVersion 15
targetSdkVersion 27
versionCode 6
versionName "1.3.00"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
ビルド/Run手続き
残念ながら実行に至る手続きは良く分かっていません。
あるプロジェクトでは、 あれのビルド、これのビルド、あれのRun、これのDebugと色々やっているうちに▷マークが有効になって、 エミュレーター上で試験を実行できました。
残念ながら別のプロジェクトはエラーはでなくなりましたが、どうやっても▷が有効にならず何も実行できません。
| 固定リンク

