在过去的几个月里,我一直注意到Android SDK Manager中的一个奇怪的行为.最近推出的Android SDK Build-Tools似乎没有更新,而是被识别为单独的包

名单不断增长,这让我感到不安.现在每当我看到一个新的软件包时,我只是卸载旧版本并安装新版本,因为我怀疑如果安装了同一个软件包的多个实例,可能会出现版本冲突
奇怪的是,我的系统上的每个SDK管理器都会出现这种情况(我正在使用多个ADT安装),所以我问自己:
这可能是故意的吗?如果是这样的话:背后的原因是什么?
我很乐意接受,如果它是这样,但当我在interwebs上搜索这个问题时,我在屏幕截图中似乎找到的是预期的行为:一个包在更新时被替换(如Android SDK Tools for例).到目前为止,我还没有找到一个单独的帖子/博客/帖子,有人抱怨这个
更新:删除并重新安装捆绑后,问题仅保留在模拟器上
我刚刚在我的Windows 8笔记本电脑上安装了android开发包.我正在尝试将第一个应用程序"hello world"(http://developer.android.com/training/basics/firstapp/creating-project.html)安装到我的Nexus 7(2012)版本4.4.2,但它不是工作.
使用logcat查看器(在构建过程中)我可以看到它正在报告:
"无法加载memtrack模块(没有这样的文件或目录)"后跟"无法加载memtrack模块:-2在运行时".
的manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myfirstapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.myfirstapp.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
控制台输出:
[2014-04-04 15:18:35 - myFirstApplication] Dx
trouble writing output: already prepared
[2014-04-04 15:18:43 - myFirstApplication] ------------------------------
[2014-04-04 15:18:43 - myFirstApplication] Android Launch!
[2014-04-04 15:18:43 - myFirstApplication] adb is running normally.
[2014-04-04 15:18:43 - myFirstApplication] No Launcher …Run Code Online (Sandbox Code Playgroud) 我正试图通过Qt Creator在我的Android设备上运行一个新的Qt Quick应用程序.但是,Qt Creator一直使用Android API版本1,而我希望它能够针对Android API版本10(又名Android 2.3.3).
当我运行调试- >启动调试,然后选择一个armeabi或armeabi-v7a我的物理设备和仿真器上,Qt的神秘继续致力于android--1:
"C:\Qt\5.4\android_armv5\bin\androiddeployqt.exe" --input C:/dev/qc/build-qc_mobile-Android_for_armeabi_GCC_4_9_Qt_5_4_0-Debug/android-libqc_mobile.so-deployment-settings.json --output C:/dev/qc/build-qc_mobile-Android_for_armeabi_GCC_4_9_Qt_5_4_0-Debug/android-build --deployment bundled --android-platformandroid--1--jdk C:/jdk1.8.0_05 --ant C:/eclipse/plugins/org.apache.ant_1.9.2.v201404171502/bin/ant.bat
如何在调试时将我的项目配置为针对不同的Android版本?
My Qt creator instance is:
Qt Creator 3.3.0 (opensource)
Based on Qt 5.4.0 (MSVC 2010, 32 bit)
Built on Dec 8 2014 at 15:24:21
From revision d36c4d87db
Run Code Online (Sandbox Code Playgroud)
仅供参考,将发布模式APK部署到我的设备上确实有效.我只是希望让调试模式正常工作.
自从我上次在Eclipse上更新Android SDK以来,我在打开Eclipse时出现以下错误:
错误:解析C:\ Documents and Settings\.android\devices.xml时出错,备份到C:\ Documents and Settings\.android\devices.xml.old cvc-elt.1:找不到元素'd的声明:布局的设备.
有人遇到过这个问题吗?我在Google和Stackoverflow上找不到有关此错误的任何内容.
我遇到了一个非常奇怪的错误.以下一小段代码使用了相当简单的数学.
protected double C_n_k(int n, int k)
{
if(k<0 || k>n)
return 0;
double s=1;
for(int i=1;i<=k;i++)
s=s*(n+1-i)/i;
return s;
}
Run Code Online (Sandbox Code Playgroud)
编辑使用ProGuard可能会在某些设备上出错.我已经在HTC One S Android 4.1.1 build 3.16.401.8上确认了,但是通过我收到的电子邮件判断,很多Android 4+的手机都受到了影响.对于其中一些(Galaxy S3),美国运营商品牌的手机受到影响,而国际版本则没有.很多手机都没有受到影响.
下面是计算1 <= n <25且0 <= k <= n的C(n,k)的活动代码.在上面提到的设备上,第一个会话给出了正确的结果,但随后的启动显示不正确的结果,每次都在不同的位置.
我有3个问题:
怎么会这样?即使ProGuard出错了,计算也应该在设备和会话之间保持一致.
我们怎能避免它?我知道代double通过long在这种情况下很好,但它是不是一个普遍的方法.删除使用double或发布未混淆的版本是不可能的.
什么Android版本受到影响?我很快就把它固定在游戏中,所以我只知道很多玩家已经看过它了,至少最多有Android 4.0
溢出是不可能的,因为有时我会在计算中看到错误C(3,3)=3/1*2/2*1/3.通常不正确的数字从C(10,...)的某个地方开始,看起来就像电话"忘了"做出一些分歧.
我的SDK工具是22.3(最新的),我在Eclipse和IntelliJ IDEA创建的构建中看到过它.
活动代码:
package com.karmangames.mathtest;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.widget.TextView;
public class MathTestActivity extends Activity
{
/**
* Called when the activity is first …Run Code Online (Sandbox Code Playgroud) 从早上开始,我的代码更改没有反映在.apk中.我没有更新任何东西.我在这里看到一些帖子指出了sdk-tools.但我没有触及过sdk-tools.可能的原因是什么?
我可以下载包的限制.
所以任何人都可以解释为了开始使用sdk或者只是让它工作正常而必须下载的必要组件.
我正在搜索要下载的最小组件.
当我启动SDK管理器时,它会显示一个显示各种软件包的列表,Very First Android 6.0 API包含很多其他软件包,所以它们必须安装哪些软件包.
那么问题,哪些是强制入门的?
我通过安装apt-get install android-sdk。
但是,执行find / -name sdkmanager揭示操作后,系统上的任何地方都没有这样的二进制文件。
在我的Mac上,二进制文件存在于中$ANDROID_HOME/tools/bin。
但是,在Ubuntu系统(有问题的系统)上,二进制文件不存在:
$ ls $ANDROID_HOME/tools/bin
e2fsck
fsck.ext4
mkfs.ext4
resize2fs
screenshot2
tune2fs
Run Code Online (Sandbox Code Playgroud)
在哪里sdkmanager?
编辑:
不知道为什么没有安装上述软件sdkmanager,但是,我发现的一种解决方案是通过在Linux的https://developer.android.com/studio/#downloads下下载Linux文件来手动安装(而不是通过apt-get)。“仅命令行工具”标题。
我有一个 BottomNavigationView,我想用它在三个或四个不同的片段之间导航。如果我实例化了一个片段,我不想再为同一个片段做一次,我只想重用它。NavOptions 类提供 launchSingleTop 属性以避免创建新实例,如果这种实例已经在返回堆栈的顶部。但是对于导航控制器中的片段返回堆栈的 singleTask 或 singleInstance 选项如何?如果我不需要创建新的片段实例,如果它已经在后台堆栈中,而我只想把它放在最上面?如何使用 Jetpack 的导航架构组件实现这一点?
navigation android android-fragments android-sdk-tools android-jetpack
我想在无头模式下在没有 GUI 的 CentOS linux 上运行 android 模拟器。运行时,出现分段错误错误。似乎模拟器在重新启动系统后只运行一次,之后我无法运行它。当模拟器开始代理数据时它会失败。
我期待在无头模式下运行 android 模拟器并在该模式上执行自动化测试。
用于创建模拟器的指令:
./avdmanager create avd -n pixel_xl -k "system-images;android-28;google_apis;x86_64" -d "pixel_xl"
Run Code Online (Sandbox Code Playgroud)
用于运行模拟器的说明:
./emulator-headless -avd pixel_xl -verbose -wipe-data -no-snapshot-save -gpu off
./emulator -avd pixel_xl -verbose -wipe-data -no-snapshot-save -no-audio -no-window
Run Code Online (Sandbox Code Playgroud)
日志:
emulator: Android emulator version 29.0.11.0 (build_id 5598178) (CL:N/A)
emulator: Found AVD name 'pixel_xl'
emulator: Found AVD target architecture: x86_64
emulator: Deleting file /root/.android/avd/pixel_xl.avd/system.img.qcow2 failed
emulator: Deleting file /root/.android/avd/pixel_xl.avd/vendor.img.qcow2 failed
emulator: Deleting file /root/.android/avd/pixel_xl.avd/userdata-qemu.img done
emulator: Deleting file /root/.android/avd/pixel_xl.avd/userdata-qemu.img.qcow2 failed
emulator: Deleting …Run Code Online (Sandbox Code Playgroud) android android-virtual-device android-emulator android-sdk-tools