Andoid Studio 3.2.1 Gradle 4.1
В режиме отладки проект имеет applicationId "com.myproject"
.В режиме релиза проект имеет `applicationId" com.myproject.beta "
В моем проекте / build.gradle:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
В моем приложении / build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.myproject"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
}
signingConfigs {
release {
keyAlias keystoreProperties['KEY_ALIAS_RELEASE']
keyPassword keystoreProperties['KEY_PASSWORD_RELEASE']
storeFile file(keystoreProperties['STORE_FILE_RELEASE'])
storePassword keystoreProperties['STORE_PASSWORD_RELEASE']
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
configBuildType(delegate, "Release instance", "Release app name", "beta")
}
debug {
configBuildType(delegate, "Release instance", "Release app name", null)
ext.betaDistributionReleaseNotes = defaultConfig.versionName + " " + name
ext.betaDistributionEmailsFilePath = "app/beta_distribution_emails.txt"
}
}
}
def configBuildType(buildType, instanceName, appName, appIdSuffix) {
buildType.resValue("string", "app_name", appName)
buildType.applicationIdSuffix(appIdSuffix)
buildType.buildConfigField("String", "INSTANCE_NAME", instanceName)
}
def AAVersion = '4.5.2'
dependencies {
annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
annotationProcessor "org.androidannotations:ormlite:$AAVersion"
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'org.apache.commons:commons-lang3:3.8.1'
implementation 'org.apache.httpcomponents:httpclient:4.5.6'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.j256.ormlite:ormlite-android:5.1'
implementation 'commons-io:commons-io:2.6'
implementation "org.androidannotations:androidannotations-api:$AAVersion"
implementation "org.androidannotations:ormlite-api:$AAVersion"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
Как вы можете видеть, я использую android-аннотацию lib:
org.androidannotations:androidannotation:4.5.2'
Когда я выбираю buildType = debug
сборка проекта успешно.
Но когда я выбираюbuildType = release
Я получаю ошибки:
:scanlib:transformClassesAndResourcesWithPrepareIntermediateJarsForRelease UP-TO-DATE
:app:javaPreCompileRelease UP-TO-DATE
D:\myproject\app\activity\DebugConfigActivity.java:29: error: cannot find symbol
import com.myproject.app.widget.DebugRuleWidget_;
^
symbol: class DebugRuleWidget_
location: package com.myproject.app.widget
Здесь активность:
import org.androidannotations.annotations.EActivity;
import com.myproject.app.utils.AndroidUtil;
import com.myproject.app.widget.DebugRuleWidget_; // error here
@EActivity
public class DebugConfigActivity extends AppCompatActivity ..
}
import org.androidannotations.annotations.EView;
@EView
public class DebugRuleWidget extends LinearLayout implements ContextMenuInfo {
}