- Home /
Question by
Fun_Royal · May 16, 2016 at 03:35 PM ·
androidandroid sdkandroidjavaobject
unity Exception:JNI:Init'd AndroidJavaObject with null prt!
when my program run at 5 line in Unity Test.cs, " AndroidJavaObject jo = jc.CallStatic("instance");", it throw out the exception as described and end up.
Exception:JNI:Init'd AndroidJavaObject with null prt! at UnityEngine.AndroidJavaObject..ctor(IntPtr jobject)(0x00000)in:0
MainActivity.java
public class MainActivity extends UnityPlayerActivity {
private static MainActivity instance;
private static Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MainActivity.instance = this;
context = getApplicationContext();
}
public void InstallAPK(String path)
{
Log.d("debug","InstallAPK path"+path);
File apkFile = new File(path);
if(apkFile.exists())
{
Log.d("debug","InstallAPK!");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(apkFile),"application/vnd.android.package-archive");
context.startActivity(intent);
}
else
{
Log.d("debug","fiald file!");
}
}
public static MainActivity instance()
{
return instance;
}
}
AndroidManifest.xml
<application
android:name="com.talkingsdk.sdk.SdkMainApplication"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:debuggable="false">
<activity android:configChanges="locale|mcc|mnc|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale"
android:label="@string/app_name"
android:launchMode="singleTask"
android:name="com.unity3d.player.UnityPlayerProxyActivity"
android:screenOrientation="landscape"/>
<activity android:configChanges="locale|mcc|mnc|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale"
android:label="@string/app_name"
android:launchMode="singleTask"
android:name="com.unity3d.player.UnityPlayerActivity"
android:screenOrientation="landscape"/>
<activity android:configChanges="locale|mcc|mnc|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale"
android:label="@string/app_name"
android:name="com.talkingsdk.umeng.GamePushActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.cmd.kz3d.qihu.MainActivity"
android:label="@string/app_name" >
</activity>
Unity Test.cs
void OnGUI()
{
if(GUI.Button(new Rect(10,250,450,100),"Install"))
{
AndroidJavaClass jc = new AndroidJavaClass("com.cmd.kz3d.qihu.MainActivity");
AndroidJavaObject jo = jc.CallStatic<AndroidJavaObject>("instance");
string path = Application.persistentDataPath+"/test.apk";
Debug.Log(path);
if(!File.Exists(path))
{
Debug.Log("not found");
}
//jc.Call("InstallAPK", path);
jc.Call("InstallAPK", path);
}
}
Comment
Your answer
Follow this Question
Related Questions
Multiple errors: Gradle/SDK/JDK related. Unity android build 5 Answers
I want to know how to access an external USB camera connected to my Android smartphone. 0 Answers
How to translate ArrayList to C# using AndroidJavaClass? 1 Answer
Facebook SDK Android Error Message: "Failed to re-package resources. See Console for details" 0 Answers