GVKun编程网logo

如何为armv7s构建Facebook iOS sdk?(arm developer)

3

针对如何为armv7s构建FacebookiOSsdk?和armdeveloper这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展AirSDK33:最低iOS9但无法在iOS9设备上下载应用

针对如何为armv7s构建Facebook iOS sdk?arm developer这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Air SDK 33:最低 iOS 9 但无法在 iOS 9 设备上下载应用程序、Android Min SDK 版本与目标 SDK 版本、Android sdk platform,sdk tools,sdk Build tools,sdk platform tools 的关系、Android SDK 的安装与环境变量配置 -- 安装 Android studio 环境需要安装 SDK 和 JDK等相关知识,希望可以帮助到你。

本文目录一览:

如何为armv7s构建Facebook iOS sdk?(arm developer)

如何为armv7s构建Facebook iOS sdk?(arm developer)

有可能构建facebook ios sdk来支持armv7s(Apple A6 cpu)吗?
我已经尝试使用build_framework.sh再次重建,它仍然不支持armv7s!

解决方法

我编译了源代码并在 http://db.tt/QpIjMfWb分享了它.在fb更新SDK后它将被删除.

Air SDK 33:最低 iOS 9 但无法在 iOS 9 设备上下载应用程序

Air SDK 33:最低 iOS 9 但无法在 iOS 9 设备上下载应用程序

如何解决Air SDK 33:最低 iOS 9 但无法在 iOS 9 设备上下载应用程序

我有一个支持 iOS9 及以上版本的 Air 应用。

plist 显示最低 ios 版本为 9。

应用商店列表显示与 iOS 9 或更高版本兼容。

我的测试设备运行的是 iOS 9.3 (iPad 2)。但是当我尝试下载时,我看到

与此 ipad 不兼容

Android Min SDK 版本与目标 SDK 版本

Android Min SDK 版本与目标 SDK 版本

在开发 Android 应用程序时,Min 和 Target SDK 版本有什么区别? 除非 Min 和 Target 版本相同,否则 Eclipse 不会让我创建一个新项目!


#1 楼

对于那些想要总结的人,

android:minSdkVersion

是您的应用程序支持的最低版本。 如果您的设备有较低版本的 Android,应用程序将无法安装。

而,

android:targetSdkVersion

是您的应用程序设计运行的 API 级别。 意味着,您的手机系统不需要使用任何兼容性行为来保持向前兼容性,因为您已经过测试直到此 API。

您的应用程序仍将在比给定的 targetSdkVersion 更高的 Android 版本上运行,但 Android 兼容性行为将启动。

赠品 -

android:maxSdkVersion

如果您的设备的 API 版本较高,则不会安装应用。 IE 浏览器。 这是您允许应用安装的最高 API。

即。 对于 MinSDK -4,maxSDK - 8,targetSDK - 8 我的应用程序将在最小 1.6 上运行,但我也使用仅在 2.2 中支持的功能,如果它安装在 2.2 设备上,它将是可见的。 此外,对于 maxSDK - 8,此应用程序不会安装在使用 API​​> 8 的手机上。

在撰写此答案时,Android 文档在解释它时没有做得很好。 现在它得到了很好的解释。 在这里查看


#2 楼

当您设置 targetSdkVersion =“xx” 时,您将证明您的应用程序在 API 级别 xx 上正常工作(例如,已经过彻底和成功测试)。

在 xx 以上的 API 级别运行的 Android 版本将自动应用兼容性代码,以支持 API 级别 xx 之前或之前可能依赖的任何功能,但现在已在 Android 版本的更高级别上淘汰。

相反,如果您使用的是 xx 级别之前之前已过时的任何功能,则不会在较高 API 级别(不再包括这些功能)的操作系统版本自动应用兼容性代码来支持这些用途。 在这种情况下,您自己的代码必须具有测试 API 级别的特殊情况子句,并且如果检测到的操作系统级别更高,不再具有给定的 API 功能,则您的代码必须使用正在运行的操作系统可用的备用功能 API 级别。

如果它无法执行此操作,则可能根本不会出现通常会触发代码中的事件的某些界面功能,并且您可能缺少用户触发这些事件并访问其功能所需的关键界面功能(如例子如下)。

如其他答案中所述,如果您想使用最初在比 minSdkVersion 更高的 API 级别定义的 API 功能,则可以将 targetSdkVersion 设置为高于 minSdkVersion,并且已采取措施确保您的代码可以检测并处理这些功能的缺失比 targetSdkVersion 更低的级别。

为了警告开发人员专门测试使用某个功能所需的最低 API 级别,如果代码包含对在 minSdkVersion 之后的 API 级别定义的任何方法的调用,编译器将发出错误(而不仅仅是警告),即使 targetSdkVersion 大于或等于该方法首次可用的 API 级别。 要删除此错误,请使用编译器指令

@TargetApi(nn)

告诉编译器在调用依赖于至少具有该 API 级别的任何方法之前,已编写该指令范围内的代码(将在方法或类之前)以测试至少 nn 的 API 级别。 例如,以下代码定义了一个方法,该方法可以从 app 中的代码调用,该代码的 minSdkVersion 小于 11 且 targetSdkVersion 为 11 或更高:

@TargetApi(11)
    public void refreshActionBarIfApi11OrHigher() {
      //If the API is 11 or higher, set up the actionBar and display it
      if(Build.VERSION.SDK_INT >= 11) {
        //ActionBar only exists at API level 11 or higher
        ActionBar actionBar = getActionBar();

        //This should cause onPrepareOptionsMenu() to be called.
        // In versions of the API prior to 11, this only occurred when the user pressed 
        // the dedicated menu button, but at level 11 and above, the action bar is 
        // typically displayed continuously and so you will need to call this
        // each time the options on your menu change.
        invalidateOptionsMenu();

        //Show the bar
        actionBar.show();
    }
}

您可能需要申报更高 targetSdkVersion 如果你已经在这个更高的水平测试,一切正常,即使您没有使用从比你的 minSdkVersion 更高的 API 级别的任何功能。 这只是为了避免访问旨在从目标级别调整到最低级别的兼容性代码的开销,因为您已经确认(通过测试)不需要这样的调整。

取决于声明的 targetSdkVersion 的 UI 功能的一个示例是当这些应用程序在 API 11 及更高版本下运行时,显示在 targetSdkVersion 小于 11 的应用程序的状态栏上的三垂直点菜单按钮。 如果您的应用的 targetSdkVersion 为 10 或更低,则假定您的应用的界面取决于是否存在专用菜单按钮,因此三点式按钮似乎取代了早期的专用硬件和 / 或屏幕版本当 OS 具有较高的 API 级别时,该按钮(例如,如 Gingerbread 中所见),不再假设设备上的专用菜单按钮。 但是,如果将应用程序的 targetSdkVersion 设置为 11 或更高,则假定您已利用该级别引入的功能替换专用菜单按钮(例如,操作栏),或者您已经规避了需要有一个系统菜单按钮;因此,三垂直点菜单 “兼容性按钮” 消失。 在这种情况下,如果用户找不到菜单按钮,则无法按下它,反过来,这意味着您的活动的 onCreateOptionsMenu(菜单)覆盖可能永远不会被调用,这反过来又意味着应用程序功能的重要部分可能会被剥夺其用户界面。 当然,除非您已实施操作栏或其他一些替代方法,以便用户访问这些功能。

相比之下,minSdkVersion 声明要求设备的操作系统版本至少具有该 API 级别才能运行您的应用程序。 这会影响哪些设备可以在 Google Play 应用商店(以及其他应用商店)上查看和下载您的应用。 这是一种说明您的应用程序依赖于在该级别上建立的 OS(API 或其他)功能的方式,并且没有可接受的方式来处理这些功能的缺失。

使用的 minSdkVersion 确保 API 相关的一个特征的存在的一个例子是对的 minSdkVersion 为了设置为 8,以确保您的应用程序将只在 Dalvik 解释的启用 JIT 版本上运行(因为 JIT 介绍到 API 级别的 Android 解释器 8)。 由于启用 JIT 的解释器的性能可能是缺少该功能的解释器的五倍,如果您的应用程序大量使用处理器,那么您可能需要 API 级别 8 或更高级别以确保足够的性能。


#3 楼

如果您遇到一些编译错误,例如:

<uses-sdk
            android:minSdkVersion="10"
            android:targetSdkVersion="15" />

private void methodThatRequiresAPI11() {
        BitmapFactory.Options options = new BitmapFactory.Options();
                options.inPreferredConfig = Config.ARGB_8888;  // API Level 1          
                options.inSampleSize = 8;    // API Level 1
                options.inBitmap = bitmap;   // **API Level 11**
        //...
    }

你得到编译错误:

字段需要 API 级别 11(当前最小值为 10):android.graphics.BitmapFactory $ Options#inBitmap

从 Android 开发工具(ADT)的第 17 版开始,有一个新的非常有用的注释 @TargetApi 可以很容易地解决这个问题。 在包含有问题的声明的方法之前添加它:

@TargetApi
private void methodThatRequiresAPI11() {            
  BitmapFactory.Options options = new BitmapFactory.Options();
      options.inPreferredConfig = Config.ARGB_8888;  // API Level 1          
      options.inSampleSize = 8;    // API Level 1

      // This will avoid exception NoSuchFieldError (or NoSuchMethodError) at runtime. 
      if (Integer.valueOf(android.os.Build.VERSION.SDK) >= android.os.Build.VERSION_CODES.HONEYCOMB) {
        options.inBitmap = bitmap;   // **API Level 11**
            //...
      }
    }

现在没有编译错误 ,它将运行!

编辑:这将导致 API 级别低于 11 的运行时错误。在 11 或更高版本上它将运行没有问题。 因此,您必须确保在由版本检查保护的执行路径上调用此方法。 TargetApi 只允许您编译它,但是您自己承担风险。


#4 楼

总是可以通过示例更好地提供概念 。 直到我深入研究 Android 框架源代码并进行一些实验,即使在阅读 Android 开发人员网站和相关的 stackoverflow 线程中的所有文档之后,我也无法理解这些概念。 我将分享两个帮助我完全理解这些概念的例子。

根据您放入 AndroidManifest.xml 文件的 targetSDKversion( <uses-sdk android:targetSdkVersion="INTEGER_VALUE"/> )的级别, DatePickerDialog 看起来会有所不同。 如果将值设置为 10 或更低,则 DatePickerDialog 将显示为左侧。 另一方面,如果将值设置为 11 或更高,则 DatePickerDialog 看起来会像右边一样,代码完全相同

我用来创建这个示例的代码非常简单。 MainActivity.java 看起来:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void onClickButton(View v) {
        DatePickerDialog d = new DatePickerDialog(this, null, 2014, 5, 4);
        d.show();       
    }
}

activity_main.xml 看起来:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="onClickButton"
    android:text="Button" />
</RelativeLayout>


而已。 这就是我需要测试的所有代码。

当您看到 Android 框架源代码时,这种外观变化非常清晰。 它像:

public DatePickerDialog(Context context,
    OnDateSetListener callBack,
    int year,
    int monthOfYear,
    int dayOfMonth,
    boolean yearOptional) {
        this(context, context.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.HONEYCOMB
                ? com.android.internal.R.style.Theme_Holo_Light_Dialog_Alert
                : com.android.internal.R.style.Theme_Dialog_Alert,
        callBack, year, monthOfYear, dayOfMonth, yearOptional);
}

如您所见,框架获取当前的 targetSDKversion 并设置不同的主题。 这种代码片段( getApplicationInfo().targetSdkVersion >= SOME_VERSION )可以在 Android 框架中找到。

另一个例子是关于 WebView 类。 Webview 类的公共方法应该在主线程上调用,否则,运行时系统会在设置 targetSDKversion 18 或更高版本时抛出 RuntimeException 。 可以使用其源代码清楚地传递此行为。 它就是这样写的。

sEnforceThreadChecking = context.getApplicationInfo().targetSdkVersion >=
            Build.VERSION_CODES.JELLY_BEAN_MR2;

if (sEnforceThreadChecking) {
    throw new RuntimeException(throwable);
}


Android 文档称,“ 随着 Android 随着每个新版本的发展,一些行为甚至外观都可能发生变化 。” 因此,我们看到了行为和外观的变化,以及如何实现这种变化。

总之,Android 文档说 “ 此属性(targetSdkVersion)通知系统您已针对目标版本进行了测试,系统不应启用任何兼容性行为来维持应用程序与目标版本的向前兼容性。 ” WebView 案例非常清楚。 直到 JELLY_BEAN_MR2 发布才能在非主线程上调用 WebView 类的公共方法。 如果 Android 框架在 JELLY_BEAN_MR2 设备上抛出 RuntimeException,这是无稽之谈。 它只是不应该为其兴趣启用新引入的行为,这会导致致命的结果。 因此,我们要做的是检查某些 targetSDKversions 上是否一切正常。 我们通过设置更高的 targetSDKversion 获得外观增强等好处,但它有责任。

编辑:免责声明。 基于当前 targetSDKversion 设置不同主题的 DatePickerDialog 构造函数(我在上面展示的)实际上已在以后的提交中更改。 尽管如此,我使用了这个例子,因为逻辑没有被改变,那些代码片段清楚地显示了 targetSDKversion 概念。


#5 楼

android:minSdkVersionandroid:targetSdkVersion 都是我们需要在 android 清单文件中声明的 Integer 值,但两者都有不同的属性。

android:minSdkVersion:这是运行 Android 应用程序所需的最低 API 级别。 如果我们将在较低的 API 版本上安装相同的应用程序,则会出现解析器错误,并且将出现应用程序不支持问题。

android:targetSdkVersion:目标 sdk 版本是设置 app 的 Target API 级别。 如果未在清单中声明此属性,则 minSdk 版本将是您的 TargetSdk 版本。 这始终是 “app 支持在我们声明为 TargetSdk 版本的所有更高版本的 API 上安装”。 要使 app 限制目标,我们需要在清单文件中声明 maxSdkVersion ...

Android sdk platform,sdk tools,sdk Build tools,sdk platform tools 的关系

Android sdk platform,sdk tools,sdk Build tools,sdk platform tools 的关系

1. sdk platform

简单理解为系统版本

最新级别:

28:Android 9

27:Android 8.1

26:Android 8.0

25:Android 7.1

24:Android 7.0

23:Android 6.0

22:Android 5.1

 


 

 

2.sdk tools

Android SDK工具是Android SDK的一个组件。它包括Android的完整开发和调试工具集。在Android sdk中只存在一个版本

在Android studio中可以查看到当前sdk tools的版本


 

 

sdk tools中有很多常用的工具,比如:

uiautomatorviewer是常用的获取页面元素的工具


 

 

3.sdk Build tools


 

 

**摘抄别人的理解:


 

 

4.sdk platform tools

platform-tools目录:包含开发app的平台依赖的开发和调试工具。adb就在这里


 

查看当前sdk platform tools版本


 

Android SDK 的安装与环境变量配置 -- 安装 Android studio 环境需要安装 SDK 和 JDK

Android SDK 的安装与环境变量配置 -- 安装 Android studio 环境需要安装 SDK 和 JDK

配置 Andriod 环境变量前提是要先安装好 JAVA 环境

1、下载 Android SDK,点击安装,直接默认路径即可! 下载地址:http://developer.android.com/sdk/index.html

2、默认路径安装后,安装完成,开始配置环境变量。

3、打开计算机属性 —— 高级系统设置 —— 环境变量(如上文)

4、新建一个环境变量,变量名:ANDROID_HOME,变量值:D:\adt-bundle-windows-x86_64-20140702\sdk(以你安装目录为准,确认里面有 tools 和 add-ons 等多个文件夹),点击确认。

5、在用户变量 PATH 后面加上变量值 ;%ANDROID_HOME%\platform-tools; 点击确认即可。 在系统变量 path 中添加;D:\adt-bundle-windows-x86_64-20140702\sdk\tools

6、Android SDK 配置完成,接下来验证配置是否成功。

7、点击运行 —— 输入 cmd—— 回车 —— 输入 adb—— 回车,如果出现一堆英文,如下图所示,即表示配置成功,在输入 Android,启动 Android SDK Manager

今天关于如何为armv7s构建Facebook iOS sdk?arm developer的分享就到这里,希望大家有所收获,若想了解更多关于Air SDK 33:最低 iOS 9 但无法在 iOS 9 设备上下载应用程序、Android Min SDK 版本与目标 SDK 版本、Android sdk platform,sdk tools,sdk Build tools,sdk platform tools 的关系、Android SDK 的安装与环境变量配置 -- 安装 Android studio 环境需要安装 SDK 和 JDK等相关知识,可以在本站进行查询。

本文标签: