Articles of 创build

是否有可能根据数组中的元素数量在运行时创buildsqlite表

我有一个列名称不同的数组列表。 我想有一个基于已经通过的数组列表创build表的一般化创build方法。 是否可以有一个结构可以dynamic地创build表。 请提出任何解决scheme。 private static class OpenHelper extends SQLiteOpenHelper { OpenHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); System.out.println("openhelper1"); } @Override public void onCreate(SQLiteDatabase db) { Log.d("**DataHelper", "***********in oncreate"); db.execSQL("CREATE TABLE " + TABLE_NAME + " (username TEXT,altnum TEXT,passkey TEXT,flag TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w("Example", "Upgrading database, […]

资源条目com.crashlytics.android.build_id已被定义

我的项目工作,一切都很好,但不知道突然发生了什么,当我想build立我的项目时,我得到错误。 这是Gradle输出: /Users/admin/Desktop/android/MY-Project/build/intermediates/res/project/debug/values/values.xml:265: error: Resource entry com.crashlytics.android.build_id is already defined. /Users/admin/Desktop/android/MY-Project/build/intermediates/res/project/debug/values/com_crashlytics_build_id.xml:9: Originally defined here. 由于这两个文件都是自动生成的,我什么也做不了:( 我尝试通过Build>“Clean project”清理项目,但没有发生任何事情。 我试图通过./gradlew clean assembleDebug清理项目,但没有发生任何事情。 我试图通过文件>“无效的caching/重新启动”无效的Android Studio的caching,但没有发生。 我甚至重新启动了我的flaptop,但是当我build立这个项目时,仍然会出现同样的问题。 我在我的构build脚本中有这个类path,但如前所述,它正在工作… dependencies { classpath 'com.android.tools.build:gradle:1.0.1' classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' } 任何build议,将不胜感激。 谢谢。

在向后兼容的代码中有这么多被弃用的方法可以吗?

我正在编写一个针对API级别15的Android应用程序,但我也希望使用较旧的API级别(min-sdk 7)保持向后兼容性。 我将通过根据当前API级别决定使用哪个代码(如下所示)来达到这一目的。 我想这是一个很好的方法,我只想问是否有这么多不赞成使用的方法(如display.getWidth() ),因为API级别8和15之间有相当多的变化。如果是这样在这种情况下,是否使用@SuppressWarning("deprecation") ? 如果API级别<= 8和> = 9,使用多个APK不会更好吗? (即使这不是由developer.android.com推荐。 Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); Point screenSize = new Point(); // calculate the width float width; if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { display.getSize(screenSize); width = screenSize.x; } else { width = display.getWidth(); } 谢谢!

使用Maven构buildAndroid项目时出错

我正在尝试使用Maven构build我的Android项目,这样我就可以自动执行testing,但出现以下错误: D:\Projects\mtproject>mvn install [INFO] Scanning for projects… [INFO] [INFO] ———————————————————————— [INFO] Building AppScience 1.0.0 [INFO] ———————————————————————— [INFO] [INFO] — maven-android-plugin:2.8.4:generate-sources (default-generate-sources) @ appsci ence — [INFO] ANDROID-904-002: Found aidl files: Count = 3 [INFO] ANDROID-904-002: Found aidl files: Count = 0 [INFO] Copying local resource files to combined resource directory. [INFO] C:\Program Files (x86)\Android\android-sdk/platform-tools/aapt.exe [package, […]

Android Studio 3.0执行失败的任务:无法合并dex

Android工作室正在构build执行与下面的“错误:执行失败的任务”:应用程序:transformDexArchiveWithExternalLibsDexMergerForDebug获取生成错误。 java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex“ 我的应用程序:build.gradle apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '26.0.2' defaultConfig { applicationId "com.pdroid.foodieschoice" minSdkVersion 16 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']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile […]

在两台不同的电脑上开发相同的应用

我使用Eclipse来开发一个应用程序,我有两台电脑(一台台式机和一台笔记本电脑),我想用来开发这个应用程序。 我最近使用Eclipse设置了我的笔记本电脑,并将该项目导入到该计算机。 但是,我意识到我无法从笔记本电脑启动应用程序到我的手机上,因为从我的桌面生成应用程序时自动生成的签名与笔记本电脑上自动生成的签名不匹配; 除非我在电话上卸载它。 有谁知道如何从一个Eclipse中导出自动生成的签名并将其导入到另一个?

如何在使用Android生成的ant构build文件时为JAR指定lib文件夹?

即时通讯使用一个已经由android生成的ant构build文件。 我们的Android应用程序需要一个JAR文件,它存在于我们项目的lib文件夹中,所以我需要调整它在构build东西时使用的类path。 当我运行: ant -lib lib debug 该项目build立得很好,但这应该真的在构build文件本身。 android生成的构build文件引用了android_rules.xml,所以很多东西都是自动的。 我想我的问题,在使用Android构build规则时,这里的最佳做法是什么?

使用无头服务器上的gradle错误创builddebuggingapk文件

我试图创build一个debuggingapk文件使用gradle在Linux无头服务器上使用./gradlew assembleDebug,但我得到以下错误 java.io.IOException: Cannot run program "/usr/android/android-sdk-linux/build-tools/23.0.1/aapt": java.io.IOException: error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:494) at com.android.builder.png.AaptProcess$Builder.start(AaptProcess.java:138) at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:96) at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:188) at java.lang.Thread.run(Thread.java:701) Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.<init>(UNIXProcess.java:164) at java.lang.ProcessImpl.start(ProcessImpl.java:81) at java.lang.ProcessBuilder.start(ProcessBuilder.java:476) … 4 more * What went wrong: Execution failed for task ':app:mergeDebugResources'. > Crunching Cruncher […]

多项目gradle生成错误:包不存在

使用gradle构build多项目时遇到一些问题。 我读了所有类似的问题,但没有任何帮助 我的项目结构如下所示: App/ settings.gradle app/ build.gradle libraries/ Core(git submodule)/ Core/ build.gradle libraries/ ZBarLibrary/ build.gradle settings.gradle 应用/ settings.gradle include ':App', ':libraries:Core', ':libraries:ZBarLibrary' project(':libraries:Core').projectDir = new File(settingsDir, 'libraries/Core/Core') project(':libraries:ZBarLibrary').projectDir = new File(settingsDir, 'libraries/Core/libraries/ZBarLibrary') 应用程序/应用/的build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } android { compileSdkVersion […]

Gradle:如何在Android库build立后运行自定义任务?

我有一个Android库,它生成一个debug.aar和一个release.aar,我需要将release.aar复制到另一个文件夹作为项目的其他部分的参考。 我现在所做的是在这个Android库build.gradle我定义了一个任务: task copyAARToCommonLibs(type: Copy) { from('../build/outputs/aar') { include '*-release.arr' } into '../SomeSampleApps/libs' } 我试图运行这个任务之后生成的ARR,我认为是assembleRelease阶段,所以我试图做这个build.gradle assembleRelease.doLast{ copyAARToCommonLibs } 我使用构build整个项目 gradle build 但是这个任务在整个过程的开始就在运行。 我也试过这个: applicationVariants.all { variant -> variant.assemble.doLast { copyAARToCommonLibs } } 里面的android {}属性(我想这就是它的称谓?)运行gradle构build,得到这个错误:找不到属性'applicationVariants' 然后我遇到这个片段: tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn copyAARToCommonLibs } 但是这似乎使得编译后的任务运行,我不知道如何修改这个组装后运行。 可能有人请纠正我在哪里做错了,我怎样才能得到这个复制任务工作.arr文件生成后?