我工作的本机扩展的Android平台和我被困在ActionScript空扩展上下文...的Adobe AIR 3.1 Android原生扩展 -
瞄准了Android 2.1 ...在谷歌Nexus One测试(2.3 0.6)
这一行返回NULL
this.context = ExtensionContext.createExtensionContext("com.company.ane.LocationManager", "");
这是扩展描述符文件:
<extension xmlns="http://ns.adobe.com/air/extension/3.1">
<id>com.company.ane.LocationManager</id>
<versionNumber>0.0.1</versionNumber>
<platforms>
<platform name="iPhone-ARM">
<applicationDeployment>
<nativeLibrary>libANELocationManager.a</nativeLibrary>
<initializer>ExtInitializer</initializer>
<finalizer>ExtFinalizer</finalizer>
</applicationDeployment>
</platform>
<platform name="Android-ARM">
<applicationDeployment>
<nativeLibrary>libANELocationManager.jar</nativeLibrary>
<initializer>com.company.ane.android.ANELocationManager</initializer>
</applicationDeployment>
</platform></platforms></extension>
这是我的包命令:
adt -package -target ane ./../../app/libs/locationmanager.ane ./../extension.xml -swc ane_location_manager.swc -platform iPhone-ARM library.swf libANELocationManager.a -platform Android-ARM library.swf libANELocationManager.jar
在这个阶段扩展是非常简单的...我只是想返回字符串值回我的应用程序...
package com.company.ane.android;
import java.util.HashMap;
import java.util.Map;
import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;
import android.location.LocationListener;
import android.location.LocationManager;
public class ANELocationManagerContext extends FREContext {
public LocationManager locationManager;
public LocationListener locationListener;
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public Map<String, FREFunction> getFunctions() {
Map<String, FREFunction> functionMap = new HashMap<String, FREFunction>();
functionMap.put("ExtensionTest", new ExtensionTest());
return functionMap;
}
}
package com.company.ane.android;
import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;
import com.adobe.fre.FREObject;
import com.adobe.fre.FREWrongThreadException;
public class ExtensionTest implements FREFunction {
@Override
public FREObject call(FREContext context, FREObject[] args) {
FREObject result = null;
//ANELocationManagerContext ctx = (ANELocationManagerContext) context;
try
{
result = FREObject.newObject("It works!");
}
catch (FREWrongThreadException fwte)
{
fwte.printStackTrace();
}
return result;
}
}
package com.company.ane.android;
import com.adobe.fre.FREContext;
import com.adobe.fre.FREExtension;
public class ANELocationManager implements FREExtension {
@Override
public FREContext createContext(String contextType) {
return new ANELocationManagerContext();
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void initialize() {
// TODO Auto-generated method stub
}
}
您有没有找到解决方案?我以前创建的ANE很好。今天,当我在制作新的时,我正在得到你的确切的错误。即使代码我做了几个月后,我没有改变任何东西... – brybam