"JNI: Unable to find field id..." and Android Segmentation Fault (Signal 11)

Please help me, I’ve been stucked in this problem since friday. (And sorry for my bad english)

I’ve got a project split-builded in an .apk and .obb parts, using the Google Play Services SDK. The first version worked fine and is already in Google Play store, but now I’m trying to update the project and couldn’t even make it run in my Sony Xperia. The exception I’ve got is a little strange:

JNI: Unable to find field id for 'BASE64_PUBLIC_KEY' (static)
(Filename: ./Runtime/ExportGenerated/AndroidManaged/UnityEngineDebug.cpp Line: 43)
I/DEBUG(1481): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG(1481): Build fingerprint: 'SEMC/ST25a_1262-1162/ST25a:2.3.7/6.0.B.1.564/y7n_zw:user/release-keys'
I/DEBUG(1481): pid: 3391, tid: 3399  >>> barcel.ardjs <<<
I/DEBUG(1481): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000c
I/DEBUG(1481):  r0 00000007  r1 00000001  r2 00000000  r3 00000000
I/DEBUG(1481):  r4 00000000  r5 4057bfe8  r6 002ec120  r7 00000c54
I/DEBUG(1481):  r8 00000000  r9 46295c00  10 4057bbb0  fp 460bde88
I/DEBUG(1481):  ip aca9ed68  sp 460bde30  lr aca46589  pc aca46588  cpsr 60000030
I/DEBUG(1481):  d0  3839505230654341  d1  53666f436f755351
I/DEBUG(1481):  d2  4a46594436704c41  d3  6d497667384b7642
I/DEBUG(1481):  d4  6a4a4f4d576c5358  d5  3830324e4e396f36
I/DEBUG(1481):  d6  7a4d655335715737  d7  4449777133376547
I/DEBUG(1481):  d8  0000000000265981  d9  0000000000000000
I/DEBUG(1481):  d10 0000000000000000  d11 0000000000000000
I/DEBUG(1481):  d12 0000000000000000  d13 0000000000000000
I/DEBUG(1481):  d14 0000000000000000  d15 0000000000000000
I/DEBUG(1481):  d16 0000000000000000  d17 555f444f444f555f
I/DEBUG(1481):  d18 0003000c444e222c  d19 fff0fff00007fff0
I/DEBUG(1481):  d20 333f111f111f333f  d21 111f111f111f111f
I/DEBUG(1481):  d22 000f000f111f111f  d23 000f000f111f333f
I/DEBUG(1481):  d24 fff0fff0fff0fff0  d25 0003000c000c0003
I/DEBUG(1481):  d26 0003000c000c0003  d27 fff0fff0fff0fff0
I/DEBUG(1481):  d28 000f000f000f000f  d29 000f000f000f000f
I/DEBUG(1481):  d30 000f000f000f000f  d31 000f000f000f000f
I/DEBUG(1481):  scr 8000001a
I/DEBUG(1481):          #00  pc 00046588  /system/lib/libdvm.so
I/DEBUG(1481):          #01  lr aca46589  /system/lib/libdvm.so
I/DEBUG(1481): code around pc:
I/DEBUG(1481): aca46568 21074630 f836f007 81f0e8bd 0003de90 
I/DEBUG(1481): aca46578 6906b570 21014614 461d4630 f82af007 
I/DEBUG(1481): aca46588 065a68e3 f3bfd501 61258f5f 6820b115 
I/DEBUG(1481): aca46598 fafef009 21074630 f81cf007 bf00bd70 
I/DEBUG(1481): aca465a8 41f0e92d 46156907 4638460c 461e2101 
I/DEBUG(1481): code around lr:
I/DEBUG(1481): aca46568 21074630 f836f007 81f0e8bd 0003de90 
I/DEBUG(1481): aca46578 6906b570 21014614 461d4630 f82af007 
I/DEBUG(1481): aca46588 065a68e3 f3bfd501 61258f5f 6820b115 
I/DEBUG(1481): aca46598 fafef009 21074630 f81cf007 bf00bd70 
I/DEBUG(1481): aca465a8 41f0e92d 46156907 4638460c 461e2101 
I/DEBUG(1481): stack:
I/DEBUG(1481):     460bddf0  002ec120  
I/DEBUG(1481):     460bddf4  aca4f821  /system/lib/libdvm.so07-17 12:50:22.750: I/DEBUG(1481):     460bddf8  4057bfe8  
I/DEBUG(1481):     460bddfc  00000000  
I/DEBUG(1481):     460bde00  4057bfe8  
I/DEBUG(1481):     460bde04  002ec120  
I/DEBUG(1481):     460bde08  4057bfe8  
I/DEBUG(1481):     460bde0c  aca466f7  /system/lib/libdvm.so
I/DEBUG(1481):     460bde10  460bde48  
I/DEBUG(1481):     460bde14  002ebb28  
I/DEBUG(1481):     460bde18  460bde48  
I/DEBUG(1481):     460bde1c  00000c54  
I/DEBUG(1481):     460bde20  00000000  
I/DEBUG(1481):     460bde24  4057bfe8  
I/DEBUG(1481):     460bde28  e3a070ad  
I/DEBUG(1481):     460bde2c  ef9000ad  
I/DEBUG(1481): #00 460bde30  45e89fe0  
I/DEBUG(1481):     460bde34  002ebb28  
I/DEBUG(1481):     460bde38  460bde48  
I/DEBUG(1481):     460bde3c  45b04df4  
I/DEBUG(1481):     460bde40  461c8f00  
I/DEBUG(1481):     460bde44  002ebb28  
I/DEBUG(1481):     460bde48  005f9a0d  
I/DEBUG(1481):     460bde4c  003117f0  
I/DEBUG(1481):     460bde50  460bde74  
I/DEBUG(1481):     460bde54  00000000  
I/DEBUG(1481):     460bde58  005f9a0c  
I/DEBUG(1481):     460bde5c  005f9884  
I/DEBUG(1481):     460bde60  4057bfe8  
I/DEBUG(1481):     460bde64  c1c3d838  
I/DEBUG(1481):     460bde68  4057bbb0  
I/DEBUG(1481):     460bde6c  46294cc0  
I/DEBUG(1481):     460bde70  00000000  
I/DEBUG(1481):     460bde74  460bdf78  
I/BootReceiver(1759): Copying /data/tombstones/tombstone_02 to DropBox (SYSTEM_TOMBSTONE)
I/ActivityManager(1759): Process barcel.ardjs (pid 3391) has died.

The “BASE64_PUBLIC_KEY” is setted in GooglePlayDownloader.cs, and nothing has been moved in the Unity Project. This project wasn’t mine, but of an office pal who isn’t even in the company anymore, so I couldn’t ask him for development details or even figure which part of the code is giving troubles. Any help would be warmly received. Thanks!

:::EDIT:::
With a Developer Build I’ve got the following path:

I/Unity(4279): UnityEngine.Debug:Internal_Log(Int32, String, Object)
I/Unity(4279): UnityEngine.Debug:Log(Object)
I/Unity(4279): UnityEngine._AndroidJNIHelper:GetFieldID(IntPtr, String, Boolean)
I/Unity(4279): UnityEngine.AndroidJNIHelper:GetFieldID(IntPtr, String, Boolean)
I/Unity(4279): UnityEngine.AndroidJavaObject:GetCachedFieldID(String, Boolean)
I/Unity(4279): UnityEngine.AndroidJavaObject:_SetStatic(String, String)
I/Unity(4279): UnityEngine.AndroidJavaObject:SetStatic(String, String)
I/Unity(4279): GooglePlayDownloader:.cctor()
I/Unity(4279): DownloadObbExample:OnGUI()
I/Unity(4279): DownloadObbExample:OnGUI()

And this is my DownloadObbExample.cs

using UnityEngine;
using System.Collections;

public class DownloadObbExample : MonoBehaviour {
	private string expPath;
	private string logtxt;
	private bool alreadyLogged = false;
	private string nextScene= "Video";
	private bool downloadStarted;
	private string progress=" ";
	public GameObject planoProgreso;
	public GameObject planoRef;
	
	void Start(){
	}
	
	void log( string t ){
		logtxt += t + "

";
}

	void OnGUI(){
		/*GUI.Label(new Rect(10, 10, Screen.width-10, Screen.height-10),
		logtxt+" "+progress);*/
		if (!GooglePlayDownloader.RunningOnAndroid())
		{
			GUI.Label(new Rect(10, 10, Screen.width-10, 20), "Use GooglePlayDownloader only on Android device!");
			Application.LoadLevel("Video");
			return;
		}
		expPath = GooglePlayDownloader.GetExpansionFilePath();
		if (expPath == null)
			log ("External storage is not available! ");
		else
		{
				string mainPath = GooglePlayDownloader.GetMainOBBPath(expPath);
				string patchPath = GooglePlayDownloader.GetPatchOBBPath(expPath);
			if( alreadyLogged == false )
			{
				alreadyLogged = true;
				log( "expPath = " + expPath );
				log( "Main = " + mainPath );
			if (mainPath != null)
				StartCoroutine(loadLevel());
			}
			if (mainPath == null)
			{
				/*GUI.Label(new Rect(Screen.width-600,
				Screen.height-230, 430, 60),
				"The game needs to download 200MB of game content. It’s recommanded to use WIFI connexion.");*/
				//if (GUI.Button(new Rect(Screen.width-500, Screen.height-170, 250, 60), "Start Download !"))
				//{
					GooglePlayDownloader.FetchOBB();
					StartCoroutine(loadLevel());
				//}
			}
		}
	}
	protected IEnumerator loadLevel(){
		string mainPath;
		do
		{
			yield return new WaitForSeconds(0.5f);
			mainPath = GooglePlayDownloader.GetMainOBBPath(expPath);
			log("waiting mainPath "+mainPath);
		}while( mainPath == null);
		if( downloadStarted == false )
		{
			downloadStarted = true;
			string uri = "file://" + mainPath;
			log("downloading " + uri);
			WWW www = WWW.LoadFromCacheOrDownload(uri , 0);
			while( !www.isDone )
			{
				progress = Time.time+" "+ www.progress;
				iTween.ScaleTo (planoProgreso, iTween.Hash("x", 1+planoRef.transform.localScale.x*www.progress, "time", 0.0f));
				yield return null;
			}
			AssetBundle ab=www.assetBundle;
			if (www.error != null)
				log ("wwww error " + www.error);
			else
			{
				if(ab==null)
					log(" ab is null ");
				else
				{
					ab.LoadAll();
					log(Time.time+" loaded ab");
					PlayerPrefs.SetString ("loadedLevelName", nextScene);
					Application.LoadLevel(nextScene);
				}
			}
		}
	}
}

Thanks again!

Finally I found the answer… apparently some of the plugins (Prime 31 Social Networking and Google Play Services) have some troubles when you use then together. I did a merge of both’s styles.xml and strings.xml and re-builded the GPS’s jar, then included it manually in my Eclipse project and voilá! Thanks anyway :slight_smile: