我正在使用IntelliJ Idea社区版2017.2.5并正在构建Android应用程序。
我的问题是,即使在我的应用程序(Gradle)中,我也有:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion "27.0.0"
defaultConfig {
applicationId "com.app.mtvtr"
minSdkVersion 21
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:27.0.0'
compile 'com.android.support:design:27.0.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
compile 'com.android.support:support-v4:27.0.0'
testCompile 'junit:junit:4.12'
}
此外,在项目的第一次构建时,编译为appcompat,设计和支持设置为27+(恕我直言,这是一个不好的做法,并已被工作室指出为一个坏主意),所以使用我的工具有,我已将其设置为27.0.1,之后设置为27.0.0,仅用于测试是否可行..
在我的片段和活动中,我有:
警告说:
sdk platform-tools版本(26.0.2)太旧,无法检查API 用API 27编译;请更新
现在,我知道有关于旧版本和新版本的SO主题,但我(我相信)正确设置了Gradle,我无处使用平台工具版本26甚至26.0.2 ... < / p>
我尝试过三次重启和无效缓存。
项目正确构建到设备上,一切正常。但是,当然,我想修复警告。 (而不是像有人暗示的那样隐藏它。)
我想到的两件事是:
有什么想法吗? :)
答案 0 :(得分:1)
Android Studio 3.0将合并到IntelliJ IDEA 2017.3版本中,这将使build.gradle
插件与之兼容。这将使这个错误消失。
对于那些在Android Studio中遇到此问题的人,请检查您的根3.0.0
文件,并确保将其更新为上述插件版本(26.0.2
),以便能够使用当前最新的构建工具(4.1
)针对API 27进行编译。
因此,您可能还必须将Gradle包装器更新为最新版本(此答案时using (SqlConnection con = new SqlConnection("Data Source=*** Initial Catalog=***y;Persist Security Info=True;User ID=***;Password=***"))//connection string
{
con.Open();
SqlCommand cmd = new SqlCommand("SELECT SubjectName FROM dbo.mySubjects WHERE SubjectClass = @theSubjectClass", con);//query string
cmd.Parameters.Add("@theSubjectClass", SqlDbType.VarChar).Value = myClass;
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
//int t = 0;
//count = count + 1; Tried adding a counter that gets the number of raws in the table that meet the search query and create a loop based on that but it produces an error of trying to read data where there is no data to read
while ( count >= 0) {
dr.Read();
List <string> Subjects = new List<string>();
Subjects.Add(dr.GetString(0));
//t = 0;
foreach (var course in Subjects)
{
var a = new HtmlGenericControl("a");
a.Attributes["class"] = "color-info";
var container = new HtmlGenericControl("div");
container.Attributes["class"] = "col-lg-4 col-sm-6";
var div = new HtmlGenericControl("div");
div.Attributes["class"] = "card card-warning wow zoomInUp animation-delay-5";
var text = new HtmlGenericControl("div");
text.Attributes["class"] = "card-block text-center";
var p = new HtmlGenericControl("p");
text.Controls.Add(p);
string manage = dr.GetValue(0) + " Videos";
var btn = new Button
{
Text = manage,
CssClass = "btn btn-warning"
};
btn.Click += new EventHandler(ExploreButtonClick);
text.Controls.Add(btn);
div.Controls.Add(text);
container.Controls.Add(div);
a.Controls.Add(container);
Row.Controls.Add(a);
count = count - 1;
}
}
con.Close();
}
)。
答案 1 :(得分:0)
您只需启动SDK Manager并下载 Android SDK平台工具和 SDK工具。
答案 2 :(得分:-4)
似乎这是一个IDE问题,因为它在Android Studio 3.0中没有出现警告,正如CrazyCoder所建议的那样。
目前似乎IntelliJ Idea尚未更新,无法使其正常工作。所以,即使我从一开始就使用Idea,我现在也会切换到AS。 :)
感谢您的输入人员。 :)