Flex プロジェクト用の .ane 拡張子を開発しました。ane 拡張機能は android 専用で、基本的には android アクティビティを開始します。問題は、アプリケーションの起動時にクラッシュすることです。私は自分の携帯電話でログを表示することができました.Adobe Airは、フレックスアプリケーション記述子ファイルに追加されたAndroid権限の一部が見つからないという事実について不平を言っていることがわかりました(権限はair-app.xmlに追加されています)。
許可の例は次のとおりです。
<permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
<permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
これは私の air-app.xml です:
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<!--See the Adobe AIR documentation for more information about setting Google Android permissions-->
<!--Removing the permission android.permission.INTERNET will have the side effect
of preventing you from debugging your application on your device-->
<uses-permission android:name="android.permission.INTERNET"/>
<!--<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>-->
<!--<uses-permission android:name="android.permission.READ_PHONE_STATE"/>-->
<!--<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>-->
<!--The DISABLE_KEYGUARD and WAKE_LOCK permissions should be toggled together
in order to access AIR's SystemIdleMode APIs-->
<!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>-->
<!--<uses-permission android:name="android.permission.WAKE_LOCK"/>-->
<!--<uses-permission android:name="android.permission.CAMERA"/>-->
<!--<uses-permission android:name="android.permission.RECORD_AUDIO"/>-->
<!--The ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE permissions should be toggled
together in order to use AIR's NetworkInfo APIs-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.motorola.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.motorola.dlauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.motorola.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.motorola.dlauncher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.lge.launcher.permission.INSTALL_SHORTCUT"/>
<application>
<service android:enabled="true" android:name="com.apperhand.device.android.AndroidSDKProvider"/>
<meta-data android:name="com.startapp.android.DEV_ID" android:value= "112455740"/>
<meta-data android:name="com.startapp.android.APP_ID" android:value= "212206131"/>
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
<activity android:name="com.apperhand.device.android.EULAActivity "
android:theme="@android:style/Theme.Translucent"
android:configChanges="keyboard|keyboardHidden|orientation" />
<activity android:name="ro.waystudios.startappextension.StartAppActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
</manifest>
]]></manifestAdditions>
これは私のAndroidアクティビティコードです:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidSDKProvider.initSDK(this);
}
これは私の呼び出し機能です:
Intent startActivityIntent = new Intent(context.getActivity(), StartAppActivity.class);
context.getActivity().startActivity( startActivityIntent );
Android からのすべての権限が flex で許可されているかどうか教えてもらえますか?