
Android Studio 是目前google推薦的Android開發工具,
這邊簡單介紹一下若要使用Android Studio開發ANE需要注意的流程.
本次簡介所使用的版本為Android Studio 1.5.1 (所有版本下載)
使用的AIR SDK為 21.0.0.176
1.Android Studio安裝完成後直接建立專案.

[Start a new Android Studio project]
2.建立專案的名稱.

這裡依各人習慣輸入即可.
Application name: 應用名
Company Domain: 公司域名 (ex. apple.com) (可選參數,不一定要)
Package name: 識別名 (ex. com.apple.project)
3.選擇要使用的Android SDK版本.

基本上選擇的版本越低,相容的裝置就越多,但太低可使用的功能也會較少.
這邊我選擇的為 API 15 : Android 4.0.3
4.選擇預設樣版.

因為只是要寫擴充功能,所以選擇空白(Add No Activity)的樣版即可.
5.建立專案完成

剛建立完成的畫面會一片空白,可選擇左方的 project 開啟目錄.

6.加入 FlashRuntimeExtensions.jar

可在AIR SDK的目錄下 \lib\android 找到 FlashRuntimeExtensions.jar
在 Android Studio 專案目錄的[app]上右鍵可開啟匯入library

[app] -> [New] -> [Module]

選擇 Import .JAR/.AAR Package

確認路徑與檔案正確.

新增library完成.
7.設定Gradle

確認有加到 FlashRuntimeExtensions.jar ,若無設定會無法使用相關的library.
dependencies { compile files('xxx/FlashRuntimeExtensions.jar') }
將 com.android.application 改為 com.android.library
//apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
移除 applicationId
defaultConfig { //applicationId "extension.myfirstandroidane" }
8.AAR 輸出

完成前一個步驟後,即可按下[Make Project] or [Rebuild Project]來輸出

切換到 Project目錄模式可看到輸出檔

檔案位置為 專案\app\build\outputs\aar\app-debug.aar
9.取得輸出jar

基本上 aar 就是 zip壓縮 ,所以可使用任意解壓軟體解壓縮.

classes.jar 就是輸出檔,再將此檔與 as3 code結合 即可生成 ANE.
其他Jar輸出方式: [Unity] 使用 Android Studio 匯出 JAR
ANE建立請參照: [ANE]開發Adobe Air ANE - Part 2:Android AlertDialog功能
參考資料
How to build ANE in Android Studio
Building a native extension for iOS and Android
您好!看你的文章,我这几天试着用android studio开发了一个ANE,用于显示Admob广告,但是在Android Device Monitor中调试时,看到报错信息:
回覆刪除java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/ads/AdView; ...
找不到admob相关的类;
但是我在build.gradle里边加入:
dependencies {
...
compile 'com.google.android.gms:play-services-ads:11.0.4'
}
ads的依赖,并且在Android Studio中可以正确的编译;
我看了编译出来的aar,里边只有我自己写的几个类的class.jar文件,libs下面只有FlashRuntimeExtensions.jar,并没有google-play-services的jar文件,
您知道怎样解决这个问题吗?
沒試過Admob,不過如果問題是要將第三方的jar也加入進來的話
刪除以前在eclipse是用fatjar的方式合併.
android studio就沒試過了.