を中止していない私は、私の例ではhttps://developer.android.com/studio/write/annotations.html無効な値がリリースビルド
を読んでいる私は、注釈@NonNull、@IntegerRes、および@IntRangeを使用しています。
package com.example.maksim.myapplication;
import android.os.Bundle;
import android.support.annotation.IntRange;
import android.support.annotation.IntegerRes;
import android.support.annotation.NonNull;
import android.support.annotation.StringRes;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("MyAnnotation", "" + getStr(null));
setAlpha(12000);
Log.d("MyAnnotation", "" + getRes(12));
}
public static boolean getStr(@NonNull String s) {
return s.contains("a");
}
public static int getRes(@IntegerRes int s) {
return s;
}
public void setAlpha(@IntRange(from=0,to=255) int alpha) {
alpha *= 2;
Log.d("MyAnnotation", "setAlpha=" + alpha);
}
}
これは私のモジュールのbuild.gradleがある:ここに私のコードがある
私はgetStr
にnullを渡したり
setAlpha
に[0、255]のうち、整数とは
./gradlew app:assembleRelease
を実行
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.example.maksim.myapplication"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.0.0'
testCompile 'junit:junit:4.12'
}
、それは構築されています。しかし、getRes()
を整数リソースIDではない整数で呼び出すと、ビルドが失敗します。
なぜ@ NonNullと@IntegerResのビルドを中止しないのですか?例えばDocumentation
から