Articles of 创build

Android:ExternalSystemException:字符串索引超出范围:-130构建版本

因此,刚刚更新到Android Studio 1.4 Beta 4并且无法构建发布版本。 我可以构建一个调试版本。 这是我得到的错误: ExternalSystemException: String index out of range: -130 经过进一步检查,我看到了这个: String index out of range: -130 com.intellij.openapi.externalSystem.model.ExternalSystemException: String index out of range: -130 at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:223) at com.android.tools.idea.gradle.invoker.GradleTasksExecutor.invokeGradleTasks(GradleTasksExecutor.java:400) at com.android.tools.idea.gradle.invoker.GradleTasksExecutor.run(GradleTasksExecutor.java:221) at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:563) at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137) at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:126) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:400) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at […]

使用多项目结构,Gradle构建速度非常慢

在包含大约140个项目/库的多项目设置中使用gradle构建时,构建时间需要1小时22分钟。 而我正在使用–parallel 。 我们的ANT构建只需不到20分钟而无需并行构建。 这正是我所做的。 ./gradlew clean ./gradlew build –parallel 我做了一点测试,似乎德兴花了最长的时间。 有没有办法让gradle过程重新使用它已经dexed的东西? 如果已经构建了库,则应该重新使用已经dexed的库。 我看到了选项–no-rebuild ,但是当我使用该选项运行时,它会显示以下内容 File ‘/path/to/project/build/libs/project.aar’ specified for property ‘bundle’ does not exist. 我用通用的东西替换了文件路径和项目名称。 使用Gradle 1.9-rc-3 其他信息(2014年1月15日): preDexDebug和preDexRelease在每个项目上花了很长时间。 比任何其他任务都长得多。 进展(2014年1月15日): 好的,现在,我将preDexLibraries = false放入所有build.gradle文件中。 但是,我仍然想知道一个集中的地方,我可以放入该条目,它会影响所有其他build.gradle文件。 但是,现在dexRelease和dexDebug需要很长时间。 有什么方法可以告诉构建只做dexDebug或dexRelease并跳过另一个? 进展(2014年1月15日): 使用assembleDebug工作。 但是,它似乎仍然没有重新使用已经dexed库。 因为德兴仍然需要永远。 每个项目大约需要一分钟。 有没有办法让gradle重新使用已经dexed的库? 或者,为什么构建仍然需要大约一个小时? 我们的ANT过程不到15分钟。

Visual Studio 2015 Xamarin部署失败,没有任何错误消息

我刚刚安装了VS 2015,安装完成了(在慢速网络造成的一些失败时间后,我再次运行安装程序)。 我创建一个项目作为Adroid > Android blank project当我按F5时,构建似乎成功但部署失败,没有错误消息。 尝试设置工具 – >选项 – >构建 – >诊断,没有结果.VS 2015是相当新的,是否有人遇到过这个? 我怎样才能解决这个问题?

Android Studio“当前NDK支持已弃用”

截至2015年1月,NDK对Android工作室的支持仍无法使用。 一条神秘的消息说:“未来将提供替代方案。” 我想知道这是什么gradle / google方向,因为目前无法制定适当的开发计划。 版本0.7+:他们建议仍然使用ndk-build / ant版本0.8+:他们引入了最小的NDK支持版本1.0.0:看起来NDK支持将是官方版本1.0.2:它现在看起来像NDK支持已弃用。 我的问题是: 是每个人都恢复到ndk-build和手工制作的android.mk文件? 是否有人在1.0.0+(gradle ndk支持)上使用当前已弃用的方法进行严重规模的项目? 什么样的方向“将来会提供替代品”会怎样? 任何内部人员都可以在不违反任何公司规则的情况下回答这个问题吗? 编辑:这不是重复,因为它指的是Android Studio和NDK的演变,另一个问题是指一个非常古老的Android Studio版本,因为我在post中详细介绍了NDK支持从版本到版本的急剧变化一个明确的方向,到目前为止已发布1.3

Android Gradle如何构建Android Google API 4.2.2而不是Android 4.2.2

是否可以构建Android Google API SDK而不是带有gradle的常规Android SDK? 我需要在我的项目中使用Google Maps API,因此我需要更改构建目标我只能find构建版本为“17”的样本compileSdkVersion 17 buildToolsVersion ’17 .0.0′ 知道怎么做吗?

使用Eclipse重建.apk而不使用Run

我有一个带有2G RAM的双核1.6Mhz CPU,因此,我正在尝试使用Eclipse外部的仿真器并使用adb安装/卸载.apk。 当我尝试构建项目(在一些代码更改之后)而不运行它时,Eclipse似乎什么都不做? 任何想法如何让Eclipse重新构建.apk而不需要运行它 谢谢

是否有可能根据数组中的元素数量在运行时创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, […]