Android 将第三方安卓JAR集成到钛移动应用程序中?

Android 将第三方安卓JAR集成到钛移动应用程序中?,android,mobile,jar,android-intent,titanium,Android,Mobile,Jar,Android Intent,Titanium,我正在编写一个钛合金应用程序,试图播放YouTube视频。目标是让用户留在应用程序中,因此调用原生youtube应用程序(我已经可以这么做了)是不可能的。我有可以在iOS上运行的代码,但这只是因为嵌入到webView中支持内容。不幸的是,Android的情况并非如此 它似乎可以解决我的问题,但我不知道如何利用钛。医生建议在Android上这样做: Intent lVideoIntent = new Intent(null, Uri.parse("ytpl://"+YOUTUBE_PLAYLIST

我正在编写一个钛合金应用程序,试图播放YouTube视频。目标是让用户留在应用程序中,因此调用原生youtube应用程序(我已经可以这么做了)是不可能的。我有可以在iOS上运行的代码,但这只是因为嵌入到webView中支持内容。不幸的是,Android的情况并非如此

它似乎可以解决我的问题,但我不知道如何利用钛。医生建议在Android上这样做:

Intent lVideoIntent = new Intent(null, Uri.parse("ytpl://"+YOUTUBE_PLAYLIST_ID), this, OpenYouTubeActivity.class);//public Intent (String action, Uri uri, Context packageContext, Class<?> cls) from Android doc
startActivity(lVideoIntent);
在我的TiApp.XML中,我添加了以下内容:

<android xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission> 
        <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
        <activity android:name="com.keyes.youtube.OpenYouTubePlayerActivity"></activity>
    </android>

当我尝试运行代码时,出现以下错误: TypeError:无法调用未定义的方法“startActivity”(file:///android_asset/Resources/app.js#162) 其中162是起始触觉(意图)的行号

我认为这与源代码不在类路径上(我试着只使用他的.jar文件和单独的.java文件)和/或它没有被用作模块有关。我使用过一个iOS模块,但不知道如何编写自己的Android模块,更不用说将某人的代码移植到模块中了

有什么帮助吗?我相信这是很多钛用户都在努力解决的问题

编辑1

我在这方面取得了一些进展,但仍然没有解决方案。我选择了“模块”路线,因为我还没有找到其他方法来获取项目构建中包含的jars/java文件。我将模块构建为“ytModule”,并通过添加

<module version="0.1">com.keyes.ytModule</module>
com.keyes.ytModule
到tiapp.xml。然后我得到

[DEBUG] Looking for Titanium Module id: com.keyes.ytModule, version: 0.1, platform: <any platform>
[DEBUG] module_id = com.keyes.ytModule
[DEBUG] appending module: com.keyes.ytModule.YtplayerModule
[DEBUG]正在查找钛模块id:com.keyes.ytModule,版本:0.1,平台:
[DEBUG]module_id=com.keyes.ytModule
[调试]附加模块:com.keyes.ytModule.YtplayerModule
当我在泰坦尼克号上建造时。我正在努力,并将不断发布更新/尝试建议

抛出这个错误

这应该行得通

抛出这个错误

这应该可以使用。

尝试使用新的SDK。 尝试使用新的SDK。

这只是一个开始,但现在Tianium认为我还没有在我的tiapp.xml中声明该活动。我几乎可以肯定这是因为java文件在构建APK时不在类路径上。如何添加它们?我不认为我需要一个模块来实现这一点,但我不知道如何在路径上获取包。在您的Tianium SDK中找到$version/android/modules,并在模块内部添加jar并重新编译应用程序。这是一个开始,但现在Tianium认为我还没有在我的tiapp.xml中声明活动。我几乎可以肯定这是因为java文件在构建APK时不在类路径上。如何添加它们?我不认为我需要一个模块来实现这一点,但我不知道如何才能在路径上获取软件包。在您的Tianium SDK中找到这个$version/android/modules,并在模块内部添加jar并重新编译应用程序。
[DEBUG] Looking for Titanium Module id: com.keyes.ytModule, version: 0.1, platform: <any platform>
[DEBUG] module_id = com.keyes.ytModule
[DEBUG] appending module: com.keyes.ytModule.YtplayerModule
The reason is its not able to call the Activity's method which is
 Ti.Android.currentActivity.startActivity(intent)